集合:字典的表亲
>>> 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) #报错,不能修改