Python_集合

集合

集合的作用主要是用来去重以及关系运算

集合的定义:  

                           集合可以包含多个元素,每个元素之间用逗号分割。

                           集合遵循三个原则:

                                                               1、每个元素必须是不可变类型(可hash,可作为字典的key)

                                                               2、没有重复的元素

                                                               3、集合是无序存储

                                                               补充: 可变类型是不可hash类型

                                                                           不可变类型是可hash类型

注意集合的目的是不同的值存放到一起,不同的集合间用来作关系运算,无需纠结集合中单个的值。

有限掌握的操作:

1、长度len

s = {'asd','zxc',1,2}
print(len(s))

2、成员运算in和not in

set = {'asd','zxc',1,2}
a = 1 in set
print(a)

set = {'asd','zxc',1,2}
a = 1 not in set
print(a)

3、合集 |

python_l=['lcg','szw','zjw','lcg']
linux_l=['lcg','szw','sb']
p_s=set(python_l)
l_s=set(linux_l)
print(p_s.union(l_s))  
print(p_s|l_s)                

4、交集 &

python_l=['lcg','szw','zjw','lcg']
linux_l=['lcg','szw','sb']
p_s=set(python_l)
l_s=set(linux_l)
print(p_s.intersection(l_s))
print(p_s&l_s)

5、差集 -

python_l=['lcg','szw','zjw','lcg']
linux_l=['lcg','szw','sb']
p_s=set(python_l)
l_s=set(linux_l)
print('差集',p_s-l_s)
print(p_s.difference(l_s))
print('差集',l_s-p_s)
print(l_s.difference(p_s))

6、父集 >,>= 和子集 <,<=

s1={1,2}
s2={1,2,3}
print(s1.issubset(s2))#s1 是s2 的子集

print(s2.issubset(s1))#False

print(s2.issuperset(s1))#s1 是s2 的父集

7、随机删除 .pop

s={'sb',1,2,3,4,5,6}
#随机删
# s.pop()

8、指定删除  .remove  .discard

s.remove('sb')
s.remove('hellol') #删除元素不存在会报错
s.discard('sbbbb')#删除元素不存在不会报错
print(s)

9、更新 .upda

s1={1,2}
s2={1,2,3}
s1.update(s2) #更新多个值
print(s1)

10、交叉补集^

python_l=['lcg','szw','zjw','lcg']
linux_l=['lcg','szw','sb']
p_s=set(python_l)
l_s=set(linux_l)
print('交叉补集',p_s^l_s)# 将两个集合合并在一起然后将相同的元素去除

猜你喜欢

转载自www.cnblogs.com/liutianyuan/p/9004619.html