1.1.9 Python集合

集合的英文是set,翻译过来叫作“集合”。它的特点是:有的可变,有的不可变;元素无次序,不可重复。
如果说元组(tuple)算是列表(list)和字符串(str)的杂合,那么集合(set)则可以堪称是list和dict的杂合。
>>> s1=set("qiwsir")
>>> type(s1)
<type 'set'>
>>> s1
set(['q', 'i', 's', 'r', 'w'])
上面可以看出集合把字符串中的字符拆解开形成了集合。特别注意观察:qiwsir中有两个i,但是在s1中只有一个i,也就是集合中元素不能重复。
>>> s2=set([123,"zhangsan","lisi","test","test"])
>>> s2
set(['test', 'lisi', 123, 'zhangsan'])
在创建集合的时候,如果发现了重复的元素,就会过滤一下,剩下不重复的。而且,从s2的创建可以看出,查看结果时显示的元素排列顺序与开始建立时不同,完全是随意显示的,这说明集合中的元素没有序列。
>>> s3={"facebook",123} #集合还可以通过{}直接创建
>>> s3
set([123, 'facebook'])
除了用set()来创建集合,还可以使用{}的方式,但是这种方式不提倡使用,因为在某些情况下,Python搞不清楚是字典还是集合。{}无法创建含有列表或者字典类型对象元素的集合。
dir(set) :查找集合有关的函数
help(set.d) :查找函数用法
>>> s1
set(['q', 'i', 's', 'r', 'w'])
>>> s1.add("zhangsan") #集合添加元素
>>> s1
set(['i', 'q', 's', 'r', 'w', 'zhangsan'])

>>> s1
set(['i', 'q', 's', 'r', 'w', 'zhangsan'])
>>> s2
set(['test', 'lisi', 123, 'zhangsan'])
>>> s1.update(s2)
>>> s1
set(['i', 'q', 'lisi', 's', 'r', 'w', 'test', 123, 'zhangsan'])
set.remove(obj):删除集合中的某个指定元素,没有该元素就报错
set.discard(obj):删除集合中的某个指定元素,没有该元素就返回空
set.pop():从集合中随机选一个元素删除并将这个值返回,但是不能指定删除某个元素
set.clear():清空集合
frozenset():不可变集合,意思就是不能增加修改,删除等
>>> f_set=frozenset("qiwsir")
>>> f_set
frozenset(['q', 'i', 's', 'r', 'w'])
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值