Python3 x中set 集合的使用方法

2021-08-21 12:04:12 字數 1705 閱讀 7147

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

sets 支援 x in set, len(set),和 for x in set。

1.初始化方法:

x = set()

x.add('str')

......

2.基本使用方法:

x = set('class')

y = set(['c','a','m'])

print(x, y)

>>>(set(['l', 'c', 'a', 's']), set(['c', 'a', 'm']))

儲存方式是==無序的==,==不重複的==。

3.交、並、差集

#交集

print(x&y)

>>>set(['c', 'a'])

#並集print(x | y)

>>>set(['l', 'c', 'a', 's', 'm'])

#差集print(x - y)

>>>set(['l','s'])

4.去除list列表中重複的資料

在某些長列表中,需要獲取列表中的元素型別時,可以使用set()方法去除重複的元素。

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

b = set(a)

print(b)

>>>set([2,1,3,4])

與列表和元組不同,集合是無序的,也無法通過數字進行索引。此外,集合中的元素不能重複。

5.基本操作方式:

# 新增一項

a.add('x')

# 在a中新增多項

a.update([10,37,42])

#使用remove()可以刪除一項,如果不存在則引發 keyerror

a.remove('c')

#獲取集合的長度(元素個數)

len(a)

#測試是否為成員項

'2'in a

#測試是否不為成員項

'2'not

in a

#測試是否 s 中的每乙個元素都在 t 中

s.issubset(t)

s <= t

#測試是否 t 中的每乙個元素都在 s 中

s.issuperset(t)

s >= t

#返回乙個新的 set 包含 s 和 t 中的每乙個元素

s.union(t)

s | t

#返回乙個新的 set 包含 s 和 t 中的公共元素

s.intersection(t)

s & t

#返回乙個新的 set 包含 s 中有但是 t 中沒有的元素

s.difference(t)

s - t

#返回乙個新的 set 包含 s 和 t 中不重複的元素

s.symmetric_difference(t)

s ^ t

#返回 set 「s」的乙個淺複製

s.copy()

#刪除並且返回 set 「s」中的乙個不確定的元素, 如果為空則引keyerror

s.pop()

#刪除 set 「s」中的所有元素

s.clear()

#如果在 set 「s」中存在元素 x, 則刪除

s.discard(x)

Python3 X中的條件控制

python中沒有switch case語句。python中需條件 迴圈等後面使用冒號 做結尾。python中使用縮排劃分 塊,相同縮排則代表同乙個 塊。python中使用elif代替else if。可以使用比較運算子 in 和 not in 檢測值是否存在區間之中。if條件語句 a 10 if a...

Python3 x編碼問題

1.記事本的ansi編碼為系統本地編碼,我的是gbk open 函式的encoding引數預設是本地編碼,也就是gbk,所以直接讀取ansi編碼的記事本檔案是木有問題的。怎麼檢視系統本地編碼?在cmd下輸入 chcp 從下表可以看出,936對應gbk編碼 下表列出了所有支援的 頁及其國家 地區 或者...

python3 X棧的實現

棧 stacks 是一種只能通過訪問其一端來實現資料儲存與檢索的線性資料結構,具有後進先出 last in first out,lifo 的特徵 class stack object 棧 def init self self.list def push self,item 入棧 def pop se...