Python中集合set()的使用及处理

在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点

1.创建set

创建set需要一个list或者tuple或者dict作为输入集合

重复的元素在set中会被自动过滤

 s1  = set([1,2,3,4,3,4,5])
print (s1) s2 = set((1,2,3,4,5,1,2,3))
print (s2) s3 = set({1:"good",2:"nice"})
print (s3)

以上代码运行结果为:

 >>>{1, 2, 3, 4, 5}
>>>{1, 2, 3, 4, 5}
>>>{1, 2}

我们可以看到list和tuple中的重复元素被自动过滤了,并且dict转为set时只保存了key值,并没有保存value值

2.添加

 s4 = set([1,2,3,4,5])
s4.add(6)
s4.add(3) #可以添加重复的,但是不会有效果
#s4.add([7,8,9]) set的元素不能是列表,因为列表是可变的,同理字典也不能添加至set
print (s4)

运行结果为:

 >>>{1, 2, 3, 4, 5, 6}

3.插入

 s5 = set([1,2,3,4,5])
s5.update([6,7,8])
s5.update((9,10))
s5.update("nice")
print (s5)

使用update()函数我们可以插入整个的list、tuple、字符串,将其打碎插入,运行结果为:

 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'c', 'n', 'e', 'i'}

我们可以看到插入的元素都被打碎,并且无序的插入了set中

4.删除

 s6 = set([1,2,3,4,5])
s6.remove(3)
print (s6)

运行结果为:

 >>>{1, 2, 4, 5}

5.遍历

set是没有索引的,但我们同样可以用for对set进行遍历

 s7 = set(['n', 'i', 'c', 'e'])
for i in s7:
print (i)

运行结果为:

 >>>1 c
>>>2 n
>>>3 e
>>>4 i

注意for返回的结果同样是无序的

6.set的enumerate

 for index,data in enumerate(s7):
print (index,data)

返回结果为:

 >>>0 c
>>>1 n
>>>2 e
>>>3 i

结果为无序的

7.set的交集与并集

 #交集
s8 = set([1,2,3,4])
s9 = set([3,4,5,6])
a1 = s8 & s9
print (a1)
print (type(a1))
#并集
a2 = s8 | s9
print (a2)
print (type(a2))

运行结果为:

 {3, 4}
<class 'set'>
{1, 2, 3, 4, 5, 6}
<class 'set'>
上一篇:Python+selenium之简单介绍unittest单元测试框架


下一篇:css相关问题