第四天 PYTHON 集合

Set 集合

集合的特性:

1、  不同元素组成

如:s = {1,2,3,4,3,3,3,3,3}

s = {1,2,3,4}

2、  无序

3、  集合中元素必须是不可变类型

可变类型:列表、字典

不可变类型:数字、字符串、元组

扫描二维码关注公众号,回复: 1611951 查看本文章

如何设置集合

方法1:

S = {1,2,3,4,5,6}

方法2:

S = set(“hello”)              结果是 s = {‘h’,’l’,’o’,’e’}

Set方法相当于使用for循环将元素一个一个放入集合,重复的删掉

集合的方法:

1、在集合中添加元素,每次只能添加1个

s.add(元素)

2、清空

s.clear()

3、  拷贝

S1 = s.copy()

4、  随机删除一个

s.pop()

5、  指定删除

s.remove(元素)

如果删除的字符串不存在,会报错

6、指定删除(不报错)

s.discard()

如果删除的字符串不存在,不会报错

集合的关系运算:

例子:

# python_l=['lcg','szw','zjw','lcg']

# linux_l=['lcg','szw','sb']

# p_s=set(python_l)

# l_s=set(linux_l)

1、  交集(共同的部分)

方法1

p_s.intersection(l_s)

方法2

p_s&l_s

2、  并集(集合相加为一个集合)

方法1

P_s.union(l_s)

方法2

P_s|l_s

3、  差集(左边的集合减去右边的集合)

方法一:

P_s.difference(l_s)

方法二:

P_s-l_s

4、  交叉补集(集合相加后减去集合共同的部分)

方法一:

P_s.symmetric_difference(l_s)

方法二:

P_s^L_s

5、  差值更新(求完差值后将结果更新到左边的集合)

方法一:

P_s = p_s-l_s

方法二:

P_s.differnece_update(l_s)

6、  交集更新(求完交集后将结果更新到左边的集合)

P_s.intersection_update(l_s)

7、  判断集合是否没有交集(返回结果是True)

P_s.isdisjoint(L_s)

8、  判断前面的是否是后面的子集(返回结果是True)

S1 = {1,2}

S2 = {1,2,3}

S1.issubset(s2)                    结果是True

S2.issubset(s1)                    结果是False

9、  判断前面的是否是后面的父集(返回结果是True)

S1 = {1,2}

S2 = {1,2,3}

S1.issuperset(s2)                         结果是False

S2.issuperset(s1)                         结果是True

10、              更新或添加多个值。将左边的集合用右边的集合进行更新

S1 = {1,2}

S2 = {1,2,3}

S1.update(s2)

S1变为{1,2,3}

S1.update([3,4])                  添加多个值

补充说明:

1、集合是可变类型

2、S = frozenset(‘hello’)  用这个方法定义的是一个不可变的集合

3、不考虑顺序的列表去重

Names = [‘erw’,’sdf’,’erw’]                

List(set(names))

猜你喜欢

转载自www.cnblogs.com/trunkslisa/p/9189815.html