1. 程式人生 > >第四天 PYTHON 集合

第四天 PYTHON 集合

沒有 必須 sca 隨機 CA sdf AC Oz 並集

Set 集合

集合的特性:

1、 不同元素組成

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

s = {1,2,3,4}

2、 無序

3、 集合中元素必須是不可變類型

可變類型:列表、字典

不可變類型:數字、字符串、元組

如何設置集合

方法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))

第四天 PYTHON 集合