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...