主頁(yè) > 知識(shí)庫(kù) > 一篇文章帶你了解python字典基礎(chǔ)

一篇文章帶你了解python字典基礎(chǔ)

熱門標(biāo)簽:外呼并發(fā)線路 宿遷星美防封電銷卡 ai電話機(jī)器人哪里好 湛江智能外呼系統(tǒng)廠家 地圖標(biāo)注審核表 長(zhǎng)沙高頻外呼系統(tǒng)原理是什么 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 ai電銷機(jī)器人源碼 百度地圖標(biāo)注沒有了

1. 字典基礎(chǔ)知識(shí)

字典:是可變的無序集合,以鍵值對(duì)為基本元素可以存儲(chǔ)各種數(shù)據(jù)類型的集合,用大括號(hào)({})表示字典的開始和結(jié)束,元素之間用半角逗號(hào)(,)分隔。鍵值對(duì),由鍵(key)和值(value)組成,中間用冒號(hào)(:)分隔。如:“wky”:28。字典屬于典型的一對(duì)一的映射關(guān)系的數(shù)據(jù)類型。

  • 字典可以理解為“映射”,映射是一種鍵(索引)和值(數(shù)據(jù))的對(duì)應(yīng)

字典的基本格式表示

>>> #空字典
>>> {}
{}
>>> #定義一個(gè)元素的字典變量
>>> d1 = {"wky":28}
>>> len(d1)
1
>>> d2 = {"wky":1,"lyj":2}
>>> len(d2)
2
>>> 

字典的鍵、值設(shè)置要求

1)鍵的設(shè)置要求

(1)唯一性:一個(gè)字典對(duì)象里所有的鍵必須是唯一的。

>>> d3={1:"wky",2:"lyj",2:"lyj"}
>>> len(d3)
2
>>> d3={1:"wky",2:"lyj",2:"wa"}
>>> len(d3)
2

在定義字典變量時(shí),python允許輸入重復(fù)的元素,但是在調(diào)用時(shí),python只會(huì)保留最后一個(gè)鍵相同的元素。為了避免出現(xiàn)問題,在定義字典對(duì)象時(shí),應(yīng)該養(yǎng)成嚴(yán)格定義每個(gè)元素鍵并保證鍵的唯一性的良好習(xí)慣。

(2)不可變性,字典在使用過程中不能對(duì)元素的鍵進(jìn)行直接修改。

>>> d2={"wkys":1,"lyj":2}    #wky錯(cuò)誤寫成wkys

2)值的設(shè)置要求

2. 字典元素增加

1.利用賦值給字典增加元素

>>> d2 = {"wky":1,"lyj":2}
>>> d2["wa"]=3
>>> d2
{'wky': 1, 'lyj': 2, 'wa': 3}
>>> 

上述增加元素的前提是:要求字典里沒有新增的鍵,否則會(huì)修改指定鍵的值。

列表變量帶中括號(hào)與字典變量帶中括號(hào)之間的區(qū)別:
(1)列表:L[x]=value的方法,修改對(duì)應(yīng)的元素,x為指定的下標(biāo)
(2)字典:D[x]=value的方法,為字典增加新元素,k為指定的鍵,且k在字典對(duì)象中不存在。

2.利用setdefault()方法給字典增加元素

setdefault()使用格式為D.setdefault(k[,d])。D代表字典對(duì)象,k代表新增鍵,d代表新增鍵對(duì)應(yīng)的值(若不提供值,則默認(rèn)值為None)

>>> d1={"wky":1,"lyj":2}
>>> d1.setdefault("wa",10)
10
>>> d1
{'wky': 1, 'lyj': 2, 'wa': 10}
>>> d1.setdefault('wake')
>>> d1
{'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> 

用setdefault()方法新增鍵值對(duì)時(shí),若指定鍵已經(jīng)存在,則只顯示已經(jīng)存在鍵的值。

3. 字典值查找

1.字典名+[key]查找

>>> d2={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2["lyj"]
2

若指定的鍵在字典對(duì)象中不存在會(huì)報(bào)錯(cuò)。

>>> d2={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2['w']
Traceback (most recent call last):
  File "pyshell#28>", line 1, in module>
    d2['w']
KeyError: 'w'         #提示鍵出錯(cuò)

2.利用get()方法查找

get()方法使用格式D.get(k[,d]),D代表字典對(duì)象,k為指定的鍵,d為鍵對(duì)應(yīng)的值。

>>> d2={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2.get("wky")
1
>>> #查找字典中不存在的鍵
>>> d2.get('w')
>>> 

get()方法指定的鍵在字典中不存在時(shí)返回空值。

4. 字典值修改

1.利用賦值修改鍵對(duì)應(yīng)的值

>>> d2={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2["wake"]=99
>>> d2
{'wky': 1, 'lyj': 2, 'wa': 10, 'wake': 99}
>>> 

2.利用update()方法修改鍵對(duì)應(yīng)的值

update()方法的使用格式D.update(d1),D代表要更新的字典對(duì)象,d1為提供更新內(nèi)容的字典。若d1中提供的鍵在D中,則更新D里對(duì)應(yīng)的鍵值,若不存在,則增加鍵值對(duì)。

1)更新字典里鍵對(duì)應(yīng)的值

>>> d1={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d2={"wky":10,"wake":89}
>>> d1.update(d2)
>>> d1
{'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}

2)新增鍵值對(duì)

>>> d1={'wky': 1, 'lyj': 2, 'wa': 10, 'wake': None}
>>> d1.update({"wakeyo":100})
>>> d1
{'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89, 'wakeyo': 100}

5. 字典元素刪除

1.利用del函數(shù)刪除

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89, 'wakeyo': 100}
>>> del(d1["wakeyo"])
>>> d1
{'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> 

2.利用pop()方法刪除

pop()方法使用格式D.pop(k[,d]),D代表字典,k代表需要?jiǎng)h除的元素的鍵,d為鍵對(duì)應(yīng)的值(可選)。

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> pl=d1.pop('wake')
>>> pl
89
>>> 

3.利用popitem()方法刪除

popitem()方法使用格式D.popitme(),D代表字典,隨即返回一個(gè)鍵值對(duì)元組,并在字典里刪除對(duì)應(yīng)的元素。

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> k1,v1=d1.popitem()
>>> k1,v1
('wake', 89)
>>> d1
{'wky': 10, 'lyj': 2, 'wa': 10}
>>> t1=d1.popitem()
>>> t1
('wa', 10)
>>> type(t1)
class 'tuple'>
>>> 

del函數(shù)、pop()方法、popitem()方法若對(duì)不存在的元素進(jìn)行操作時(shí),都將報(bào)錯(cuò)。

6. 字典遍歷操作

1.遍歷所有鍵值對(duì):

利用items()方法遍歷所有鍵值對(duì)

items()方法使用格式D.items(),D代表字典,以元組形式返回字典的所有元素。

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for get_l in d1.items():
	print(get_l)
#結(jié)果	
('wky', 10)
('lyj', 2)
('wa', 10)
('wake', 89)
>>> d1.items()
dict_items([('wky', 10), ('lyj', 2), ('wa', 10), ('wake', 89)])
>>> type(d1.items)
class 'builtin_function_or_method'>
>>> 

遍歷所有鍵

1)利用字典變量循環(huán)遍歷

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for gets in d1:
	print(gets)

#結(jié)果
wky
lyj
wa
wake

2)利用keys()方法獲取字典鍵

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for get_l in d1.keys():
	print(get_l)

#結(jié)果
wky
lyj
wa
wake

遍歷所有值

1)通過鍵遍歷值

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for get_key in d1:
	print(d1[get_key])

#結(jié)果
10
2
10
89

2)利用values()方法獲取字典值

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> for get_v in d1.values():
	print(get_v)

#結(jié)果
10
2
10
89

7. 字典其他操作方法

1.in成員操作

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> if "wky" in d1.keys():
		print("wky在字典里")
	else:
		print("wky不在字典里")

wky在字典里

2.clear()方法

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> d1.clear()
>>> d1
{}

3.copy()方法

>>> d1={'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> d2=d1.copy()
>>> d2
{'wky': 10, 'lyj': 2, 'wa': 10, 'wake': 89}
>>> id(d1)
2432414090296
>>> id(d2)
2432414587208
>>> d3=d2
>>> id(d3)
2432414587208

通過copy()方法的復(fù)制,可以避免字典變量之間直接賦值指向同一個(gè)地址。

4.fromkeys()方法

fromkeys()方法使用格式D.fromkeys(iterable),D代表字典,iterable代表列表對(duì)象,用于指定字典鍵,生成的D的鍵對(duì)應(yīng)的值默認(rèn)為None。

>>> d1={}.fromkeys(["wky","lyj","wa"])
>>> d1
{'wky': None, 'lyj': None, 'wa': None}
>>> 

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

您可能感興趣的文章:
  • python基礎(chǔ)入門之字典和集合
  • Python基礎(chǔ)之字典常見操作經(jīng)典實(shí)例詳解
  • Python3 字典dictionary入門基礎(chǔ)附實(shí)例
  • Python基礎(chǔ)學(xué)習(xí)之基本數(shù)據(jù)結(jié)構(gòu)詳解【數(shù)字、字符串、列表、元組、集合、字典】
  • 元組列表字典(莫煩python基礎(chǔ))

標(biāo)簽:林芝 寧夏 南平 盤錦 海南 大同 漯河 普洱

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一篇文章帶你了解python字典基礎(chǔ)》,本文關(guān)鍵詞  一篇,文章,帶你,了解,python,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一篇文章帶你了解python字典基礎(chǔ)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于一篇文章帶你了解python字典基礎(chǔ)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章