與列表進行對比:
1.列表的每乙個索引(index)都有其對應的值(value);
2.字典的每乙個鍵(key)也都有其對應的值(value),且鍵的內容可以由我們編寫。
這樣,字典的存在方便了我們根據關鍵字提取對應值了。
>>
> dict1=
>>
> dict1
該方法有兩組表達形式
a =
dict
(one=
1, two=
2, three=
3)
a =
dict((
("one",1
),("two",2
)))b =
dict([
("one",1
),("two",2
)])
要明確該函式的意義:fromkeys可以批量生成多對「」相同值的而鍵不同」的「鍵值」。
>>
> a =
>>
> a.fromkeys([1
,2,3
],4)
>>
> a.fromkeys([1
,2,3
],(4
,5,6
))#value用元組打包多個值,系統依舊把它當做乙個元組值
>>
> a
#原字典並未發生變化
a =
>>
> a[
'one'
]1
使用該函式時,鍵存在於字典中時,會返回對應值;鍵不存在於字典中時,會返回「none」
>>
> a =
>>
> a.get(
"one")1
>>
>
print
(a.get(
"four"))
none
使用該函式時,鍵存在於字典中時,會返回對應值;鍵不存在於字典中時,可在其後新增對於的值,該函式會將其新增至字典中」
>>
> a =
>>
> a.setdefault(
"one")1
>>
> a.setdefault(
"four",4
)4>>
> a
這一塊與列表、元組相同,不再贅述。
值得注意的是,若訪問的鍵不存在且對其進行賦值,則系統會自動向字典中新增該對鍵-值。
>>
> a =
>>
> a[
"four"]=
4>>
> a
在使用該函式時,若鍵存在於字典中,則將相應鍵值進行修改;若鍵不存在於字典中,則將其「鍵-值」新增至字典中。
>>
> a =
>>
> a.update(
)>>
> a
使用方法與列表類似,有刪除整個字典的存在於刪除字典某對「鍵-值」兩個作用
>>
> a =
>>
>
del a #不帶中括號,刪除整個字典
>>
> a
traceback (most recent call last)
: file ""
, line 1,in
anameerror: name 'a'
isnot defined # 字典已不存在了
>>
> b =
>>
>
del b[
'one'
]#中括號內為待刪除的鍵名,可刪除指定的「鍵-值」
>>
> b
該函式可使字典刪除指定鍵的值,並返回該值。(老是忘記)
>>
> a =
>>
> a.pop(
'one')1
>>
> a
清空字典內容
與直接將字典賦值為空字典的區別:
>>
> a =
>>
> b = a
>>
> a.clear(
)>>
> a
>>
> b
>>
>
結果:a、b均成為了空的字典
>>
> a =
>>
> a
>>
> b
>>
>
結果:a成為了空字典,而b還是原來的有值字典。
(1).在python中,值相當於物體,而變數名相當於標籤。
(2).給變數名賦值,就相當於將標籤貼於物體之上。而乙個物體可以有多個標籤,及乙個值可以賦予多個變數名。
(3).若將變數名重新賦值,則是將標籤貼於其他物體上,而先前的物體及其他的標籤不會發生變化。
(1).「b = a」使a、b標籤都貼在了字典上。
(2).而clear函式是將直接變為了,使得貼在其上的a、b值都變成了。(3).而「a=」使a 標籤重新貼在了字典上,而b標籤還是貼在原有的字典上。故a成為了空字典,而b還是原來的有值字典。
該函式屬於淺拷貝
>>
> a =
>>
> b = a.copy(
)# 淺拷貝
>>
> b
>>
> a =
# 將母字典重新賦值為空字典
>>
> b
# b沒有變成空字典
淺拷貝與深拷貝的區別(依舊採用標籤與物體的解釋方法)
>>
> a =
>>
>>
for key , value in a.items():
#兩個變數
print
(key +
"的意義是"
+str
(value))
one的意義是1
two的意義是2
three的意義是3
a =
for key in a.keys():
print
(key)
onetwothree
>>
> a =
>>
>
for value in a.values():
print
(value)12
31
若想相同的值只訪問一次,可使用外部函式set()(將其轉化為集合,刪除重複出現的內容)
>>
>
for value in
set(a.values())
:print
(value)12
3
python 字典dict 學習總結
例如 di 此處,di中雖然有6個字串,但是實際上di只有3個值,我們把 a1 123 這種di裡的值叫做 鍵值對 key value 其中,value部分可以使用任何值,也可以隨意巢狀 而在key部分中,列表list,字典dict不能放在key裡面,這和字典本身的運作方式有關 因為列表字典不能做雜...
Python自學3(字典)
1.像列表一樣,字典 是許多值的集合,但是不像列表的下標,字典的索引可以使用許多不同資料型別,不只是整數。字典的索引被稱為 鍵 鍵及其關聯的值稱為 鍵 值 對 2.字典中的表項是不排序的,不能像列表一樣進行切片。3.嘗試訪問字典中不存在的鍵,將導致keyerror出錯資訊 4.儘管字典時不排序的,但...
python字典總結
1.dict 建立字典 fdict dict x 1 y 2 fdict 2.fromkeys 來建立乙個 預設 字典,字典中元素具有相同的值 ddict fromkeys x y 1 ddict 3.遍歷字典 使用keys 遍歷 dict2 for key in dict2.keys print ...