Python中的集合

2021-09-14 05:18:25 字數 2656 閱讀 1372

集合(set)是乙個無序的不重複元素序列。

可以使用大括號 或者 set() 函式建立集合,注意:建立乙個空集合必須用 set() 而不是 ,因為 是用來建立乙個空字典。

建立集合 : s =

>>> set_test = set('hello')

>>> set_test

>>> set_test = set('hello')

>>> set_test

# 由此可見集合中的元素不可重複,都是不同的

>>> n_set_test = frozenset(set_test)

>>> n_set_test

frozenset()

>>> s = 

>>> s2 =

>>> print("差集:",s.difference(s2)) # 去除s和s2中相同元素,刪除s2 保留s中剩餘元素

>>> s = 

>>> s1 =

>>> s2 =

>>> s.difference_update(s2)

>>> s

>>> s = 

>>> s2 =

>>> s.intersection(s2)

>>> s&s2  # 可以達到相同的效果

>>> s = 

>>> s2 =

>>> s.intersection_update(s2) # 相當於s = s - s2

>>> s

>>> s = 

>>> s2 =

>>> s.symmetric_difference(s2)

>>> s = 

>>> s2 =

>>> print(s.union(s2))

>>> s = 

>>> s.update(['t', 'h', 'o', 'n']) # 新增多個元素

>>> s

>>> s = 

>>> s1 =

>>> s2 =

>>> s.issubset(s1)

true # 因為 s1 集合 包含 s 集合

>>> s = 

>>> s1 =

>>> s2 =

>>> s.issuperset(s1)

false # s 集合不包含 s1 集合

>>> s.issuperset(s2)

true # s 集合包含 s2 集合

上述操作符表達了集合型別的四種基本操作:交集,並集,差集,補集,操作邏輯與數學定義相同。

>>> s = 

>>> s.add("s")

>>> s

>>> s = 

>>> s.clear()

>>> s

set()

>>> s = 

>>> new_s = s.copy()

>>> new_s

>>> s = 

>>> s.pop()  # pop刪除時是無序的隨機刪除

1

>>> s = 

>>> s.discard("sb")

>>> s

>>> s = 

>>> s.remove(3)

>>> s

>>> s = 

>>> s1 =

>>> s2 =

>>> s.isdisjoint(s1)

true

>>>s = 

>>>len(s)

2

我們有時候要將乙份資料的原始內容保留乙份,再去處理資料,python為這種需求提供了copy模組。提供了兩種主要的copy方法,一種是普通的copy,另一種是deepcopy。我們稱前者是淺拷貝,後者為深拷貝。

#淺拷貝

a = [[1,2],3,4]

b = a.copy()

b[2] = 5

b[0][0] = 7

print(a,b)

#深拷貝

import copy

a = [[1,2],3,4]

b=copy.deepcopy(a)

b[1] = 5

b[0][1] = 7

print(a,b)

借鑑文章【部落格】(

Python中的集合

python中的集合 一 定義 集合是由一組元素組成。集合中的元素只包含值。需注意兩點 1 集合中的元素是無序的。2 每個元素是唯一的。二 建立集合 語法 set name set 新增 用set name.add 填充集合 語法 set name 三 獲取資訊 因為集合裡面沒有索引值所以判斷某個元...

python中的集合

集合 和數學概念中的結合類似,集合裡面的元素不可重複,所以可以用來做快速去重。集合裡面的元素不可重複s print s,type s 列印出來重複多次的元素只會列印一次定義乙個空集合s1 如果這樣定義,那麼預設情況下是dict print type s1 這時s1的資料型別是dict s2 set ...

python中的集合

set 是乙個無序不重複元素序列可以使用 或者set 來建立集合 建立空的集合必須使用set 因為 是用來建立乙個新的字典 建立 s print s print type s 列印結果 去掉重複的數字 型別為set集合for迴圈,成員操作 s print 1 in s print 1 not in ...