您的位置:首页 > 其它

12.集合:在我的世界里,你就是唯一 / 不可变集合

2017-08-07 21:16 323 查看
集合:字典的表亲

>>> num1 = {}
>>> type(num1)
<type 'dict'>  #字典

>>> num2 = {1,2,3,4}
>>> type(num2)
<type 'set'>   #集合(没有体现映射关系)
可以看到,花括弧{}并不是字典独有的,
第二种定义就是集合set


在我的世界里,你就是唯一

>>> num2 = {1,2,3,4,5,5,3,2,20,32}
>>> num2
set([32, 1, 2, 3, 4, 5, 20])  #自动去掉重复的数据

并且,集合是无序的


创建集合

1.{}:花括弧创建
2.set()工厂函数:set(字符串、stuple、list)

>>> s1 = set('I love fishC')
>>> s1
set([' ', 'C', 'e', 'f', 'I', 'h', 'l', 'o', 'i', 's', 'v'])

>>> s2 = set([1,2,3,'Curry',4])
>>> s2
set([1, 2, 3, 'Curry', 4])

>>> s3 = set((1,'Kobe',3,3.14))
>>> s3
set([1, 3.14, 3, 'Kobe'])

例题1:去掉list中的重复的值
>>> list1
[1, 1, 1, 2]
>>> list1= list(set(list1))
>>> list1
[1, 2]

例题2:判断一个元素是否在集合set中
in
not in
例题3:如何访问集合set中的值
同list,stuple相同,使用for循环实现
>>> s1
set([1, 2, 3, 4, 5, 6])
>>> for i in s1:
print i

1
2
3
4
5
6


内置方法:

>>> s1.add(7)  #添加
>>> s1
set([1, 2, 3, 4, 5, 6, 7])
>>> s1.remove(1)  #移除
>>> s1
set([2, 3, 4, 5, 6, 7])
>>> s1.remove(1)


不可变集合:frozen冰冻的/冻结的

>>> s1 = frozenset([1,2,3])
>>> s1
frozenset([1, 2, 3])
>>> s1.add(0)  #报错,不能修改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐