一、set集合
1、集合是一个无序不重复元素集,有去重的作用
set集合类需要的参数必须是迭代器类型的,如:序列、字典等,然后转换成无序不重复的元素集。由于集合是不重复的,所以可以对字符串、列表、元组进行去重操作。
(1)创建
s1=set('This is string') ([])
set1=set('python') 结果:set(['h', 'o', 'n', 'p', 't', 'y'])
s2=set([1,2,3])
s3=set((1,2,3,4,3,2)) set([1,2,3,4])
s4=set({1:2,2:3,6:6}) 字典只会把key值列表(相当于dict.keys()返回值)赋值给set set([1,2,6])
注意数值类型不能作为集合的参数,如int类型。
(2)添加元素
add() 把元素作为整体添加
update() 把元素中的子元素一个个添加
s2.add('abc') set([1,2,3,'abc'])
s2.update('abc') set(['a',1,2,3,'b','c'])
(3)删除元素
a、remove()
s2.remove('c') set (['a',1,2,3,'b'])
如果'c'不存在,会抛出异常
b、discard(value)
s2.discard(3)
c、pop()
s2.pop() 确保集合有元素,删除的元素不确定是哪个。如果为空引发KeyError错误
(4)遍历集合
for i in s2:
print i
(5)
枚举enumerate()
for index,elem in enumerate(2):
print index,':',elem
类型转化:
str(s2)
list(s2)
tuple(s2)
(6)清空集合
s1.clear()
(7)复制集合
s6=s2.copy()
(8)结合的长度
len(s2)
 
2、集合的特殊操作
(1)交集、并集、差集
s1=set([1,2,3])
s2=set([2,3,4,5])
s3=s1 & s2 交集 set([2,3])
s4=s1 | s2 并集 set([1,2,3,4,5])
s5=s1-s2 差集 在s1中但不在s2中 set([1])
s6=s1.difference(s2) s6的结果 set([1]) 同s5
 
(2) > 、>= < <= !=
print s1>=s2
 
(3)
issupperset()父集
s11=set([1,2])
print s1.issupperset(s11) Ture s1是否为s11的父集
print s1.issupperset(s2) False
issubset() 子集
s1.issubset(s2) s1是否为s2的子集
 
(4)in 和not in 成员运算符
if s1 in s2:
3、不可变集合 frozenset()
fs=frozenset([1,2,3])
如果试图改变不可变集合中的元素,就会报AttributeError错误。

Python之数据结构:集合的更多相关文章

  1. (python)数据结构---集合

    一.描述 set翻译为集合 set是可变的.无序的.不可重复的 set的元素要求可哈西(不可变的数据类型可哈西,可变的数据类型不可哈希) set是无序的,因此不可以索引,也不可以修改 线型结构的查询时 ...

  2. python基本数据结构-集合-集合运算

  3. python基本数据结构-集合-方法

  4. Python基本数据结构-集合-创建/与其他类型比较

  5. (python数据分析)第03章 Python的数据结构、函数和文件

    本章讨论Python的内置功能,这些功能本书会用到很多.虽然扩展库,比如pandas和Numpy,使处理大数据集很方便,但它们是和Python的内置数据处理工具一同使用的. 我们会从Python最基础 ...

  6. Python的set集合详解

    Python 还包含了一个数据类型 -- set (集合).集合是一个无序不重复元素的集.基本功能包括关系测试和消除重复元素.集合对象还支持 union(联合),intersection(交),dif ...

  7. python的数据结构分类,以及数字的处理函数,类型判断

    python的数据结构分类: 数值型 int:python3中都是长整形,没有大小限制,受限内存区域的大小 float:只有双精度型 complex:实数和虚数部分都是浮点型,1+1.2J bool: ...

  8. Python 基本数据结构

    Python基本数据结构 数据结构:通俗点儿说,就是存储数据的容器.这里主要介绍Python的4种基本数据结构:列表.元组.字典.集合: 格式如下: 列表:list = [val1, val2, va ...

  9. 转 Python常见数据结构整理

    http://www.cnblogs.com/jeffwongishandsome/archive/2012/08/05/2623660.html Python常见数据结构整理 Python中常见的数 ...

  10. python 与数据结构

    在上面的文章中,我写了python中的一些特性,主要是简单为主,主要是因为一些其他复杂的东西可以通过简单的知识演变而来,比如装饰器还可以带参数,可以使用装饰类,在类中不同的方法中调用,不想写的太复杂, ...

随机推荐

  1. IDEA搭建Maven 的聚合项目

    今天突然想把自己学习在eclipse上的maven聚合项目搭建到IDEA上,结果IDEA有太多的配置步骤,导致失败了很多次,终于在网上找到了一篇博客 https://blog.csdn.net/for ...

  2. Linux磁盘I/O性能监控——iostat

    iostat命令可以查看CPU利用率和磁盘性能相关数据,有时候我们会觉得系统响应慢,传数据很慢,这个慢可能是多方面原因导致的,如CPU利用率高.网络差.系统平均负载高甚至是磁盘已经损坏了.对此,系统性 ...

  3. axios常见传参方式

    1:get请求 一般发送请求是这么写 axios.get('/user?id=12345&name=user') .then(function (res) { console.log(res) ...

  4. nginx安装php环境

    1.php下载地址 https://secure.php.net/downloads.php(此次安装版本为7.0.33) 2.安装依赖的包 yum -y install libxml2 yum -y ...

  5. JZOJ 3509. 【NOIP2013模拟11.5B组】倒霉的小C

    3509. [NOIP2013模拟11.5B组]倒霉的小C(beats) (File IO): input:beats.in output:beats.out Time Limits: 1000 ms ...

  6. Java Web 基础(一) 基于TCP的Socket网络编程

    一.Socket简单介绍 Socket通信作为Java网络通讯的基础内容,集中了异常.I/O流模式等众多知识点.学习Socket通信,既能够了解真正的网络通讯原理,也能够增强对I/O流模式的理解. 1 ...

  7. Air Pollution【空气污染】

    Air Pollution Since the 1940s, southern California has had a reputation for smog. 自20世纪40年代以来,南加利福尼亚 ...

  8. Codeforces Round #464 (Div. 2) E. Maximize!

    题目链接:http://codeforces.com/contest/939/problem/E E. Maximize! time limit per test3 seconds memory li ...

  9. Appium运行时没有启动activity的权限:A new session could not be created.(Original error: Permission to start activity denied)

    小白搞appium,遇到启动不了activity的问题: 查找解决方案说是跟AndroidManifest.xml有关系,参考:https://github.com/appium/appium/iss ...

  10. volatile、synchronized、lock有什么区别,以及在哪些场景下使用哪种方式?

    [转]JVM锁机制volatile/synchronized/lock 1.volatile实现原理 (1)聊聊并发(一)——深入分析Volatile的实现原理 --硬件级别锁实现,Lock前缀指令会 ...