字典基礎知識總結

2021-10-25 07:47:32 字數 4633 閱讀 5168

字典常見操作

字典推導式

字典的作⽤和列表類似,都是⽤來儲存物件的容器

列表儲存資料的效能好,但是查詢資料的效能差,字典正好與之相反

在字典中每⼀個元素都有唯⼀的名字,通過這個唯⼀的名字可以找到指定的元素

這個唯⼀的名字我們稱之為key 通過key可以快速查詢value 也可以稱之為值

字典我們也稱之為鍵值對(key-value)結構

每個字典中都可以有多個鍵值對,⽽每⼀個鍵值對我們稱其為⼀項(item)

建立⼀個有資料的字典 語法

字典的值可以是任意物件 字典的鍵可以是任意的不可變物件(int str bool tuple…)

字典的鍵是不能重複的,如果出現重複的後⾯的會替換前⾯的

字典是序列型別,但是是無序序列,所以沒有分片和索引

字典中的資料每個都有鍵值對組成,即kv對

方法一:

d = {}

print(d)

方法二:

d = dict()

print(d)

d =

print

(d)

d =

dict()

print

(d)

d =

dict

(one=

1, two=

2, three=3)

print

(d)

# 成員檢測檢測的是key內容

d =if

2in d:

print

("value")if

"two"

in d:

print

("key")if

("two",2

)in d:

print

("kv"

)

# 通用函式: len, max, min, dict

# str(字典): 返回字典的字串格式

d =print

(str

(d))

# 注意:當刪除乙個不存在的鍵時,

dictionary =

dict((

('綺夢'

,'水瓶座'),

('冷伊一'

,'射手座'),

('香凝'

,'雙魚座'),

('黛蘭'

,'雙子座'))

)if"香凝1"

in dictionary:

# 如果存在

del dictionary[

"香凝1"

]# 刪除乙個元素

print

(dictionary)

k = d.keys(

)print

(type

(k))

print

(k)- values: 同理,乙個可迭代的結構

v = d.values(

)print

(type

(v))

print

(v)

d =

for k,v in d.items():

print

(k,v)

d =

i = d.items(

)print

(type

(i))

print

(i)

site=

#pop()方法刪除並返回指定「鍵」的元素

pop=site.pop(

'nae'

,"字典沒有此鍵值"

)#設定預設值防止因鍵值不存在出錯

print

(pop)

# 輸出 :字典沒有此鍵值

site=

#pop()方法刪除並返回指定「鍵」的元素

pop=site.pop(

'a')

print

(pop)

# 輸出 :1

print

(site)

#如果字典已經為空,卻呼叫了此方法,就報出 keyerror 異常。

site=

pop=site.popitem(

)print

(pop)

print

(site)

name =

['綺夢'

,'冷伊一'

,'香凝'

]# 作為鍵的列表

sign =

['水瓶座'

,'射手座'

,'雙魚座'

,'雙子座'

]# 作為值的列表

#注意形成的字典鍵值一一對相應,最少的項為標準

dic =

dict

(zip

(name,sign)

)print

(dic)

d =

# fromkeys: 使用指定的序列作為鍵,使用乙個值作為字典的所有的鍵的值

l =[

"eins"

,"zwei"

,"drei"

]# 注意fromkeys兩個引數的型別

# 注意fromkeys的呼叫主體

d =dict

.fromkeys(l,

"hahahahahah"

)print

(d)

d =

print

(d.get(

"on333"))

# get預設值是none,可以設定

print

(d.get(

"one"

,100))

print

(d.get(

"one333"

,100))

#體會以下**跟上面**的區別

print

(d['on333'])

#結果報錯:keyerror: 'on333'

d =[1

,2,3

,[4,

5,6]

]d2 = d.copy()d[

0]=10

print

('d ='

,d,id

(d))

print

('d2 ='

,d2,

id(d2)

)d =[10

,2,3

]94178520

d2 =[1

,2,3

]94178600

d =[1

,2,3

,[4,

5,6]

]d2 = d.copy()d[

3][0

]=88print

('d ='

,d,id

(d))

print

('d2 ='

,d2,

id(d2)

)結果:

d =[1,

2,3,

[88,5

,6]]

91950456

d2 =[1

,2,3

,[88,

5,6]

]91950536

深複製

import copy

d =,

'b':2,

'c':3}

d2 = copy.deepcopy(d)

d2['a'][

'name']=

'黑貓警長'

結果:d =

,'b':2

,'c':3

}52783216

d2 =

,'b':2

,'c':3

}52783696

字典生成式

1:

d =

# 常規字典生成式

dd =

print

(dd)

# 加限制條件的字典生成式

dd =

print

(dd)

2:

import random     # 匯入random標準庫

randomdict =

print

("生成的字典為:"

,randomdict)

3:

name =

['綺夢'

,'冷伊一'

,'香凝'

,'黛蘭'

]# 作為鍵的列表

sign =

['水瓶'

,'射手'

,'雙魚'

,'雙子'

]# 作為值的列表

dictionary =

# 使用列表推導式生成字典

print

(dictionary)

字典的基礎知識

字典的定義 info zidian 鍵 鍵值 這個鍵沒有在字典中存在,就屬於新增。這個鍵已經在字典中存在,就屬於修改。in 2 info in 3 info 女 字典裡沒有 鍵 所以新增到字典裡 in 4 info out 4 in 5 info name xiaocao name 已存在所以小花修...

python 字典基礎知識

好久沒有更新了,創作不易,希望多多支援。字典 鍵值對 key value 表示方法 變數名 注意 1.使用的符號都是英文表示。2.key值是不可變型別,value是可變資料型別 dic print dic 第一種 setdefault函式 dic dic.setdefault weight 170 ...

python字典基礎知識

字典複習 字典主要的三個方法 keys values items dt for key in dt.keys print key key for value in dt.values print value value for key,value in dt.items print key valu...