Python學習筆記 集合和字典

2021-09-27 00:18:23 字數 2268 閱讀 5388

集合寫在大括號裡,元素之間用逗號隔開,建立乙個空集合必須用 set() 而不是 ,因為因為 是用來建立乙個空字典。

使用add()新增元素到集合,如果元素已存在,則不進行任何操作。update()也可以新增元素到集合,其引數可以是列表,元組,字典等並且可以有多個。

value=

set(

)value.add(1)

value.add(2)

value.add(2)

print

(value)

# value.update([2

,3,4

])print

(value)

# value.update([3

,4],

(5,6

))print

(value)

#

使用remove()從集合中移除元素,如果元素不存在則會報錯,discard()也能從集合中移除元素,且元素不存在不會報錯,我們還可以使用pop()隨機刪除乙個元素,判斷元素是否在集合中存在使用in,清空集合使用clear()。

value=

value.remove(1)

print

(value)

# value.discard(20)

value.pop(

)# 有些情況下是刪除第乙個元素

print

(value)

# if

5in value:

print

("5 in set"

)value.clear(

)print

(len

(value)

)

使用運算子可以計算兩個集合的差集,並集,交集。

set1=

set2=

# 記a和b是兩個集合,則所有屬於a且不屬於b的元素構成的集合,叫做集合a和集合b的差集。

print

(set1-set2)

# 差集

print

(set2-set1)

# 差集

print

(set1 | set2)

# 並集

print

(set1 & set2)

# 交集

print

(set1 ^ set2)

# set1和set2中不同時存在的元素

字典是是乙個無序的 鍵(key) : 值(value) 的集合,寫在大括號裡,key-value之間用逗號隔開,值可以取任何資料型別,但鍵必須是可雜湊的,例如字串,數字。

字典的訪問和修改和其它語言沒什麼區別,使用del刪除字典中的元素,clear()清空字典。

dict

=print

(dict

["xiaoming"])

# 20

dict

["xiaoming"]=

100print

(dict

["xiaoming"])

# 100

print

(len

(dict))

# 3del

dict

["xiaoming"

]print

(len

(dict))

# 2dict

.clear(

)print

(len

(dict))

# 0

可以單獨遍歷字典的鍵或值,也可以一起遍歷。

dict

=for key in

dict

:print

(key+

":"+

str(

dict

[key]))

for key in

dict

.keys():

print

(key +

":"+

str(

dict

[key]))

for value in

dict

.values():

print

(value)

for key,value in

dict

.items():

print

(key +

":"+

str(value)

)

學習筆記 python 字典 集合和序列

dict.fromkeys seq value 用於建立乙個新字典,以序列seq中元素做字典的鍵,value為字典所有鍵對應的初始值。seq name age dic1 dict fromkeys seq print 新的字典為 s str dic1 新的字典為 dic2 dict fromkeys...

Python學習筆記 字典 集合

一 字典dict 字典是python唯一的對映型別,區別序列型別和基本資料型別。1 建立,下面幾種方式都可以建立字典,注意,a 建立的是空字典,而不是集合。這裡,dict是工廠函式,同樣的,list str tuple也是工廠函式。要注意,dict對鍵的要求較為嚴格,必須是可雜湊物件。2 索引 因為...

Python學習筆記 字典,集合

字典 定義 dict 注意事項 多個元素使用逗號 分割 乙個元素以 key value的形式定義key必須為不可變型別,value可以是任意物件 d type d 檢視字典型別子典的訪問與新增 dict name key 的形式訪問key對應的value 我們可以通過 dict name key v...