集合:具有无序不重复的特点
列表转集合时会对整型进行排序
集合无法结合下标取值
空集合的创建:只可以使用set()
s1 = set()
print(type(s1))
# 输出结果:
<class 'set'>
将tuple直接添加到集合中随机位置 set.add(tuple)
s1 = {'1', '2'}
t1 = ('a', 'b')
s1.add(t1)
print(s1)
将tuple拆开添加到集合中随机位置 set.update(tuple)
s1 = {'1', '2'}
t1 = ('a', 'b')
s1.update(t1)
print(s1)
# 输出结果:
{'1', '2', 'b', 'a'}
从集合中删除元素s,元素不存在则报错KeyError set.remove(s)
s1 = {'1', '2'}
s1.remove('1')
print(s1)
s1.remove('3') # 此时会报错:KeyError: '3'
从集合中删除元素s,元素不存在时不会报错 set.discard()
s1 = {'1', '2'}
s1.discard('1')
print(s1) # 输出结果:{'2'}
s1.discard('3') # 此时不会删除任何数据,也不会报错
随机删除集合中元素 set.pop()
s1 = {'1', '2'}
s1.pop()
print(s1)
# 输出结果:
可能是{'2'} 也可能是{'1'}
删除集合中所有元素 set.clear()
s1 = {'1', '2'}
s1.clear()
print(s1)
# 输出结果:
set()
“差集:-
返回值是:set1中有set2中没有的部分” “difference()
set1-set2”
s1 = {'1', '2'}
s2 = {'2'}
s3 = {'2', '3'}
print(s1 - s2, s1 - s3)
# 输出结果:
{'1'} {'1'}
“交集:&
返回值是:set1和set2中共同拥有的部分” “intersection()
set1&set2”
s1 = {'1', '2'}
s2 = {'2'}
s3 = {'2', '3'}
print(s1 & s2, s1 & s3)
# 输出结果:
{'2'} {'2'}
“合集:|
返回值是:set1和set2中所有元素合并去重” “union()
set1|set2”
s1 = {'1', '2'}
s2 = {'2'}
s3 = {'2', '3'}
print(s1 | s2, s1 | s3)
# 输出结果:
{'1', '2'} {'3', '1', '2'}
“对称合集:^
返回值是:set1和set2中除去共同拥有的部分以外的所有元素” “symmetric_diffrence()
set1^set2”
s1 = {'1', '2'}
s2 = {'2'}
s3 = {'2', '3'}
print(s1 ^ s2, s1 ^ s3)
# 输出结果:
{'1'} {'3', '1'}