Python基礎學習筆記 字典與集合

2021-09-29 02:16:49 字數 4586 閱讀 4118

一.字典

1.建立字典

「字典」定義語法為

其中每乙個元素是乙個「鍵值對」- 鍵:值 (key:value)

關鍵點是「大括號 {}」,「逗號 ,」和「冒號 :」

dict1 =

print

(dict1[

'國家'],

type

(dict1)

)中國 <

class

'dict'

>

字典是無序的 鍵:值對(key:value 對)集合,鍵必須是互不相同的(在同乙個字典之內)。

2.字典的內建方法

(1)dict.fromkeys(seq[, value]) 用於建立乙個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應的初始值。

key1 =(1

,2,3

)value1 =

'陳平安'

dict4 =

dict

.fromkeys(key1,value1)

print

(dict4)

dict4[1]

='寧'

print

(dict4)

可以通過對dict[key]賦值改變對應的value

(2)dict.keys()返回乙個可迭代物件

dict.values()返回乙個迭代器。

dict.items()以列表返回可遍歷的(鍵, 值) 元組陣列。

dict.get(key, default=none)返回指定鍵的值,如果值不在字典中返回預設值。

dict1 =

print

(dict1.keys())

print

(dict1.values())

print

(dict1.items())

print

(dict1.get(

'城市'

),dict1.get(

'學校'))

dict_keys(

['國家'

,'省份'

,'城市'])

dict_values(

['中國'

,'河北'

,'保定'])

dict_items([(

'國家'

,'中國'),

('省份'

,'河北'),

('城市'

,'保定')]

)保定 none

(3)key in dict in 操作符用於判斷鍵是否存在於字典中,如果鍵在字典 dict 裡返回true,否則返回false。而not in操作符剛好相反,如果鍵在字典 dict 裡返回false,否則返回true。

dict.pop(key[,default])刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key 值必須給出。 否則,返回 default 值。

del dict[key] 刪除字典給定鍵 key 所對應的值。

dict1 =

print

('學校'

in dict1,

'國家'

notin dict1)

#false false

print

(dict1.pop(

'國家'

),dict1)

#中國

del dict1[

'省份'

]print

(dict1)

#print

(dict1.popitem(

),dict1)

#('特色', 'haze')

print

(dict1.setdefault(

'resort'

,none

),dict1)

#none

dict2 =

dict1.update(dict2)

print

(dict1)

#print

(dict1.clear(

),dict1)

#none {}

dict.popitem()隨機返回並刪除字典中的一對鍵和值,如果字典已經為空,卻呼叫了此方法,就報出keyerror異常。

dict.setdefault(key, default=none)和get()方法 類似, 如果鍵不存在於字典中,將會新增鍵並將值設為預設值。

dict.update(dict2)把字典引數 dict2 的 key/value(鍵/值) 對更新到字典 dict 裡

(4)dict.copy()返回乙個字典的淺複製。

用 id(x) 函式,對 x 進行某種操作,比較操作前後的 id,如果不一樣,則 x 不可變,如果一樣,則 x 可變。

dict1 =

dict2 = dict1.copy(

)dict3 = dict1

print

(dict1,

id(dict1)

)print

(dict2,

id(dict2)

)print

(dict3,

id(dict3)

)dict1[

'城市']=

'廊坊'

print

(dict1,

id(dict1)

)print

(dict2,

id(dict2)

)print

(dict3,

id(dict3)

)1490241957384

1490241957144

1490241957384

1490241957384

1490241957144

1490241957384

二.集合

1.建立集合

set也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。

set1 =

set(

['first'

,'sec'

,'thi'])

for item in set1:

print

(item,end=

' ')

print

('fir'

in set1)

可以使用for把集合中的資料乙個個讀取出來。

可以通過in或not in判斷乙個元素是否在集合中已經存在

(2)集合的內建方法

set.add(elmnt)用於給集合新增元素。

set.remove(item)用於移除集合中的指定元素。

set.update(set)用於修改當前集合,可以新增新的元素或集合到當前集合中,如果新增的元素在集合中已存在,則該元素只會出現一次,重複的會忽略。

set1 =

set2 =

set3 =

set2.add(

'r')

print

(set2)

#set1.remove(

'j')

print

(set1)

#set1.update(set3)

print

(set1)

#print

(set3.intersection(set2)

)#set()

print

(set3.union(set2))#

print

(set1.difference(set3))#

print

(set3.issubset(set1)

)#true

print

(set1.issuperset(set3)

)#true

set.intersection(set1, set2 …)用於返回兩個或更多集合中都包含的元素,即交集。

set.union(set1, set2…)返回兩個集合的並集,即包含了所有集合的元素,重複的元素只會出現一次。

set.difference(set) 返回集合的差集,即返回的集合元素包含在第乙個集合中,但不包含在第二個集合(方法的引數)中。

set.issubset(set)用於判斷集合的所有元素是否都包含在指定集合中,如果是則返回 true,否則返回 false。

set.issuperset(set)用於判斷指定集合的所有元素是否都包含在原始的集合中,如果是則返回 true,否則返回 false。

(3)不可變集合

frozenset([iterable]) 返回乙個凍結的集合,凍結後集合不能再新增或刪除任何元素。

a =

frozenset

(range(10

))# 生成乙個新的不可變集合

print

(a)# frozenset()

b =frozenset

('lsgogroup'

)print

(b)# frozenset()

原文參考:

Python基礎筆記 字典

1,字典是一種可變的 無序的 鍵值對的 複雜的資料容器 2,字典是一種可變的容器模型,且可儲存任意型別物件。字典的每個鍵值key value對用冒號 分割,每個鍵值對之間用逗號,分割,整個字典包括在花括號 中。3,其中鍵是唯一的,如果重複最後的乙個鍵值對會替換前面的,4,值可以取任意資料型別,但鍵必...

python學習筆記 字典

方法一 dict1 dict2 dict1,dict2 方法二 從python 2.2 版本起,可以使用乙個工廠方法,傳入乙個元素是列表的元組作為引數 fdict dict x 1 y 2 fdict 方法三 從python 2.3 版本起,可以用乙個很方便的內建方法fromkeys 來建立乙個 預...

Python學習筆記 字典

1 字典的定義 dictionary 字典 是除列表以外python之中最靈活的資料型別 字典同樣可以用來儲存多個資料 通常用於儲存描述乙個物體的相關資訊 和列表的區別 列表是有序的物件集合 索引,即從0開始,依次遞增 字典是無序的物件集合 字典的定義用 字典使用 鍵值對 儲存資料,鍵值對之間使用逗...