Python基礎(六) 雜湊型別(集合和字典)

2022-08-27 19:36:11 字數 3165 閱讀 8148

python中集合用 表示。空集用 set() 來表示。

集合有兩種特性:1)無序性:集合中的元素沒有順序。

2)唯一性:集合中的元素是唯一的,即使在建立的時候存在相同的元素,輸出的元素也是唯一的。

集合中不能存在任何的可變型別,集合本身是一種可變的資料型別。也就是說集合不能巢狀集合。

集合的運算:集合主要有交並差三種運算,交集:s1&s2

並集:s1 | s2

差集:s1 - s2

s1=

s2=print('

交集:',s1&s2)

print('

並集:',s1|s2)

print('

差集:',s1-s2)

結果

交集: 

並集:

差集:

集合元素的增加:add()和update( iterable ),其中update中可以新增的是可迭代物件,列表,字串等,它會把可迭代物件依次乙個個的新增到集合中。看例子。

s1=

s1.add('hi

')print

(s1)

s1.update([77,88,99])

print

(s1)

s1.update(

'world')

print(s1)

結果

集合元素的刪除:

pop()會隨機刪除集合中的乙個元素,並返回刪除的值。remove(object)會刪除指定的元素。clear()清空所有元素。

s1=

s1.pop()

print("

pop():

",s1)

結果pop():

s1=

s1.remove(

'hello')

print('

remove():

',s1)

結果remove():

集合元素的查詢

s1=

s2=print(s1.isdisjoint(s2)) #

是否無交集,有返回false,無返回true

print(s1.issubset(s2)) #

s1是否包含於s2,是返回true

print(s1.issuperset(s2)) #

s1是否包含s2,是返回true

結果false

false

true

python中字典也是一種無序的集合,字典中的元素是通過鍵來訪問的。

字典的特性:1)無序性;

2)key:value形式存在;

3)key值唯一且不可變,如果重複後面的會覆蓋前面的。

空字典定義:di={}或di=dict()

di1=

print(di1.get('

username

')) #

若查詢的鍵不存在返回none

print(di1['

username

']) #

若查詢的鍵不存在,報錯

#結果:

austinjoe

austinjoe

di1=

print

(di1.keys())

print

(di1.values())

print

(di1.items())

#注意以上三種方法返回的值的型別是python內建的型別,若要使用首先應該型別轉換

print("

轉換成列表:

",list(di1.keys()))#結果

dict_keys(['

username

', '

age', '

password'])

dict_values([

'austinjoe

', 22, '

hahaha'])

dict_items([(

'username

', '

austinjoe

'), ('

age', 22), ('

password

', '

hahaha

')])

轉換成列表: [

'username

', '

age', '

password

']

刪除

di1=

print(di1.pop('

password

'))#

刪除指定鍵的值

print

(di1)

di1=

print(di1.popitem())#

隨機刪除並返回刪除內容

print

(di1)

結果:hahaha('

username

', '

austinjoe')

設定預設值

di1=

di1.setdefault(

'name

','joe

')#新增預設值

print

(di1)

di1.setdefault(

'password

','idontknow

')#若key值不存在,則value值無效

print

(di1)

結果:

合併

di1=

di1.update()

print

(di1)

di1.update() #

若key值存在,則覆蓋

print

(di1)

結果:

fromkeys()構造技術

print(dict.fromkeys(['

hello

','python

'],'

good'))

print(dict.fromkeys(['

hello

','python

']))

結果:

(六)Python基礎知識 集合

集合 set 是乙個無序的不重複的元素序列。可以使用大括號 或者set 函式建立集合。注意 建立乙個空集合必須使用set 而不是 與空字典有區別。包含的操作如下表 方法描述 add x 為集合新增元素 update x 為集合新增元素,x可以為列表,元組,字典 字串 會分隔字串進行新增,如 張三 會...

雜湊表集合型別 MSDN

雜湊表集合型別 hashtable 類基於 idictionary 介面,因此該集合中的每一元素是鍵和值對。hashtable 由包含集合元素的儲存桶組成。儲存桶是 hashtable 中各元素的虛擬子組,與大多數集合中進行的搜尋和檢索相比,它可令搜尋和檢索更簡單 更快速。每一儲存桶都與乙個雜湊 關...

Redis(六)set集合型別

set集合和list列表十分的相似,都可以儲存多個字串。但是list列表可以儲存重複值,而set集合中不可重複。一 集合資料結構 其中的user為鍵名,其可以包含多個 不重複 的元素,各不相同 user camellia1 camellia2 camellia3 二 操作命令 這裡分兩種,linux...