参考链接: Python集合set | difference_update
在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点
1.创建set
创建set需要一个list或者tuple或者dict作为输入集合
重复的元素在set中会被自动过滤
1 s1 = set([1,2,3,4,3,4,5])
2 print (s1)
3
4 s2 = set((1,2,3,4,5,1,2,3))
5 print (s2)
6
7 s3 = set({1:"good",2:"nice"})
8 print (s3)
以上代码运行结果为:
1 >>>{1, 2, 3, 4, 5}
2 >>>{1, 2, 3, 4, 5}
3 >>>{1, 2}
我们可以看到list和tuple中的重复元素被自动过滤了,并且dict转为set时只保存了key值,并没有保存value值
2.添加
1 s4 = set([1,2,3,4,5])
2 s4.add(6)
3 s4.add(3) #可以添加重复的,但是不会有效果
4 #s4.add([7,8,9]) set的元素不能是列表,因为列表是可变的,同理字典也不能添加至set
5 print (s4)
运行结果为:
1 >>>{1, 2, 3, 4, 5, 6}
3.插入
1 s5 = set([1,2,3,4,5])
2 s5.update([6,7,8])
3 s5.update((9,10))
4 s5.update("nice")
5 print (s5)
使用update()函数我们可以插入整个的list、tuple、字符串,将其打碎插入,运行结果为:
1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'c', 'n', 'e', 'i'}
我们可以看到插入的元素都被打碎,并且无序的插入了set中
4.删除
1 s6 = set([1,2,3,4,5])
2 s6.remove(3)
3 print (s6)
运行结果为:
1 >>>{1, 2, 4, 5}
5.遍历
set是没有索引的,但我们同样可以用for对set进行遍历
1 s7 = set(['n', 'i', 'c', 'e'])
2 for i in s7:
3 print (i)
运行结果为:
1 >>>1 c
2 >>>2 n
3 >>>3 e
4 >>>4 i
注意for返回的结果同样是无序的
6.set的enumerate
1 for index,data in enumerate(s7):
2 print (index,data)
返回结果为:
1 >>>0 c
2 >>>1 n
3 >>>2 e
4 >>>3 i
结果为无序的
7.set的交集与并集
1 #交集
2 s8 = set([1,2,3,4])
3 s9 = set([3,4,5,6])
4 a1 = s8 & s9
5 print (a1)
6 print (type(a1))
7 #并集
8 a2 = s8 | s9
9 print (a2)
10 print (type(a2))
运行结果为:
1 {3, 4}
2 <class 'set'>
3 {1, 2, 3, 4, 5, 6}
4 <class 'set'>
转载于:https://www.cnblogs.com/weiwenliang/p/10590403.html
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。