欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?字典的概念敘述和使用方法

 更新時間:2023年02月14日 08:21:37   作者:兔C  
Python中還有一個很重要的數(shù)據(jù)類型就是字典,其實集合的底層使用的也是字典,這篇文章主要介紹了python?字典的概念敘述和使用方法,需要的朋友可以參考下

1. 一個簡單的字典

我們先從寫一個簡單的字典示例開始,
順便看一下 python 字典的語法。

student ={'姓名':'張三','年齡':15} #第一個值 張三是字符串類型,所以用''包裹,
										#第二個值是整數(shù)類型,所以沒有使用''
print(student['姓名'])
print(student['年齡'])

字典和元組一樣,都用 {花括號} 來包裹中間的元素,
元組內(nèi)的元素是不可以改變的。而字典中的元素內(nèi)容都是成對的。

歪曲一點解釋的話:
我們使用列表時,如果要操作內(nèi)部的元素,列表有索引下標(biāo),
通過索引下標(biāo),我們就可以操作。而字典呢,
字典就的元素都是成對的,這也就好像我們自己來設(shè)置索引下標(biāo),
不過存儲的值是多少,我們只要記得自己設(shè)置的“索引”就可以操作到元素。

我們來看一下輸出內(nèi)容:

在這里插入圖片描述

現(xiàn)在我們對字典有了簡單的認(rèn)識,
具體如何取使用,我們繼續(xù)看下面第二個標(biāo)題。

2. 使用字典

在 python中,字典是一系列鍵-值對,每個鍵都有一個與之對應(yīng)的值,
我們可以使用鍵來訪問相關(guān)聯(lián)的值。與鍵相關(guān)聯(lián)的值可以是數(shù)字、字符串、列表、乃至字典。

python中的任何對象都可以作為字典中的值。

2.1 訪問字典中的值

字典中可以包含任意數(shù)量的鍵-值對,想要訪問一個字典當(dāng)中的值,
需要通過與其對應(yīng)的鍵來實現(xiàn)訪問。

python
student ={'姓名':'李四'}
print(student['姓名'])

2.2 添加鍵-值對

字典是一種動態(tài)結(jié)構(gòu),可隨時在其中添加鍵-值對。

現(xiàn)在我們有了創(chuàng)建好的字典,那代碼如何寫才能向其中添加鍵-值對呢?

student ={'姓名':'李四'}

student['年齡'] =15
student['班級'] ='3年1班'

#打印整個字典
print(student)

我們來看一下添加后的結(jié)果:

在這里插入圖片描述

這里要告訴大家一點,
鍵-值對的排列順序與添加順序不同,Python 不關(guān)心鍵-值對的添加順序,
而只關(guān)心鍵和值之間的關(guān)聯(lián)關(guān)系。

2.3 修改字典中的值

記不記得上篇文章,我們聊過一個話題,
就是列表 用 [方括號] 而元組 用 {花括號},字典也是用{花括號}
而三者不管是哪一個,進(jìn)行值或元素 操作的時候,都是用的[方括號]。
個人感覺還是挺合理的,前兩者有索引下標(biāo),后者隨波逐流,感覺很方便用戶使用。

我們來寫一下修改字典值的代碼吧。

student = {'姓名':'張三','年齡':15}
#現(xiàn)在將 姓名更改成 李四,年齡更改為18

student['姓名'] = '李四'
student['年齡'] = 19
print(student)

在這里插入圖片描述

看一下,是不是成功修改了呢。

2.4 刪除鍵-值對

對于列表中不在需要的信息,也可以使用像刪除列表元素時的del語句進(jìn)行刪除。
看一下 del 語句刪除字典中的鍵值對該怎么寫:

# 使用 del 語句刪除時,必須指定字典名和要刪除的鍵
student = {'姓名':'張三','年齡':15}
print(student)

del student['年齡']
print(student)
#被刪除的鍵值對是永久消失的

3. 遍歷字典

一個 python 字典可能只包含幾個鍵-值對,也可能包含數(shù)百萬個鍵-值對。
鑒于字典可能包含大量的數(shù)據(jù),python支持對字典進(jìn)行遍歷。

字典可用于各種方式存儲信息,因此有多重遍歷字典的方式:可遍歷字典的所有鍵-值對、鍵或值。

3.1 遍歷所有鍵-值對

我們先來創(chuàng)建一個存儲學(xué)生信息的字典:

student ={'姓名':'張三','年齡':'10','班級':'三年1班'}

接下來我們通過 for循環(huán)來獲取字典中的所有信息:

for key,value in student.items():
	print("Key鍵\t"+key)
	print("Value值\t"+value)

// items( ) 這個函數(shù)會返回字典當(dāng)中的所有鍵-值

而key 和 value 是我們要遍歷字典時,用于存儲信息的臨時變量。
你也可以另起名稱,就像遍歷列表時一樣,只要見名知意即可。

我們來看一下本段代碼的執(zhí)行結(jié)果:

在這里插入圖片描述

3.2 遍歷字典中的所有鍵

在不需要使用字典中的值時,方法 keys() 很有用。
下面我們來寫段示例,演示一下對于只遍歷鍵的情況。

student ={'姓名':'張三','年齡':'10','班級':'三年1班'}

for key in student.keys():
	print('key:'+key)

看一下輸出結(jié)果:

在這里插入圖片描述

3.3 按順序遍歷字典中的所有鍵

字典明確的記錄著自己所存儲的鍵和值之間的關(guān)系,但獲取字典元素時,
獲取順序是不可預(yù)測的。

想以特定的順序返回元素,一種辦法是在for循環(huán)中對返回的鍵進(jìn)行排序。
python提供函數(shù) sorted() 來獲得按特定順序排列的鍵列表的副本。

students ={'張三':'c','李四':'python','王五':'java','趙六':'c++'}

for key in sorted(students.keys()):
	print(key+'同學(xué),歡迎你學(xué)習(xí) python 語言')

我們來輸出看一下,sorted() 函數(shù)是否幫助我們正確的排列了列表中的鍵。

在這里插入圖片描述

3.4 遍歷字典中的所有值

在 python 中,針對字典中保存的所有值,可使用 values() 函數(shù),
這個函數(shù)會返回一個值列表,不包含鍵。

students ={'張三':'c','李四':'python','王五':'java','趙六':'c++'}

for value in students.values():
	print(value)

這樣使用 values() 函數(shù)就可以成功將字典中包含的值,全部輸出。
但如果有這樣的一個問題:假如字典中保存了成千上萬的值,
通過 values 全部輸出是沒有問題了,但是成千上萬的數(shù)據(jù)量難免出現(xiàn)重復(fù)內(nèi)容。

怎樣解決重復(fù)內(nèi)容的問題呢?

我們可以借助 python 提供給我們的另一個函數(shù):set ()

students ={'張三':'c','李四':'python','王五':'java','趙六':'c++'}

for value in set(students.values()):
	print(value)

通過set 函數(shù),將找尋字典中沒有重復(fù)內(nèi)容的所值,保存在一個集合中。

4.嵌套

有時候,我們需要將字典存儲在列表中,或者將列表作為值存儲在字典中。
這種操作稱為嵌套。

4.1 字典列表

我們使用字典存儲學(xué)生的信息,
假設(shè),第一個創(chuàng)建的字典存儲了張三同學(xué)的信息,
那么第二個同學(xué)的信息如何保存呢?

考慮到這個問題,我們可以繼續(xù)使用字典存儲同學(xué)的信息,
如果有新同學(xué)的信息需要存儲,我們就繼續(xù)創(chuàng)建新的字典,
當(dāng)學(xué)生的信息存儲完成之后,在將字典存儲到列表當(dāng)中,
使用列表來存儲所有存儲了學(xué)生信息的字典。

student1 ={'姓名':'張三','年齡':'15','班級':'初三一班'}
student2 ={'姓名':'李四','年齡':'15','班級':'初三二班'}
student3 ={'姓名':'王五','年齡':'15','班級':'初三一班'}

students =[student1,student2,student3]

for student in students:
	print(student)

我們來看一下遍歷列表的輸出結(jié)果:

在這里插入圖片描述

4.2 range() 函數(shù)

上述示例中,我們創(chuàng)建每個學(xué)生存儲學(xué)生的字典,都是手動編碼的,
先不考慮信息的問題,如何解決自動創(chuàng)建呢?

我們可以借助python 提供給我們的 range() 函數(shù)

#先創(chuàng)建一個空列表
students =[]

#設(shè)置批量創(chuàng)建字典存儲學(xué)生信息的過程
for student in range(30):
	student_zd = {'姓名':'張三','年齡':15,'班級':'初三一班'}
	students.append(student_zd)

#遍歷列表,輸出存儲的前五個信息
for stu in students[:5]:
	print(stu)

輸出存儲的前五個信息時,我們就用到了前面章節(jié)中掌握的切片知識點了。

4.3 在字典中存儲列表

我們來寫一個講列表存儲在字典中的示例:

#創(chuàng)建一個用于存儲披薩信息的字典
	#存儲配方時,將值的形式以列表進(jìn)行存儲
pizza ={
		'品名':'榴蓮披薩',
		'配方':['榴蓮','白面','礦物質(zhì)水','芝麻']
	   }

# 嘗試打印字典中的 普通形式鍵值對
print('推薦你品嘗一下:'+pizza['品名'])

# 嘗試打印字典中 以列表形式存儲的鍵值對
print('榴蓮披薩是這樣做的:\n')
for pa in pizza['配方']:
	print(pa)

將列表存儲在字典當(dāng)中,只要捋清邏輯,
其實還是很好實現(xiàn)的,我們來看一下輸出結(jié)果:

在這里插入圖片描述

4.4 在字典中存儲字典

user ={
		'user1':{'userName':'張三','userInfo':'QQ郵箱'},
		'user2':{'userName':'李四','userInfo':'網(wǎng)易郵箱'}
	 }
	 
#嘗試打印字典中的值
for key,value in user.items():
	print('正在嘗試獲取用戶信息....')
	print('---------------------')
	print('當(dāng)前正在解析用戶:'+key+'的信息')
	
	uName = '用戶'+value['userName']+'正在以'+value['userInfo']+'的登錄形式訪問網(wǎng)站'
	print(uName)

在本段示例中,我們想創(chuàng)建了一個存儲用戶信息的字典,
該字典的鍵是用戶的登錄id,其實就是一個字符串。
而該鍵所對應(yīng)的值是一個嵌套的新字典,在該字典中,正常存儲信息。

在輸出時,
我們先遍歷 得到字典的key值,還有value值,
輸出用戶的信息值,也就是登錄id,直接輸出字典key即可。

而該key所對應(yīng)的字典的值,利用key[索引到字典內(nèi)部嵌套的字典的key],
其實很簡單,就是利用被嵌套字典的key輸出它的value

最后我們來看一下輸出結(jié)果:

在這里插入圖片描述

到此這篇關(guān)于python 字典的概念敘述和使用方法的文章就介紹到這了,更多相關(guān)python 字典使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python增加矩陣維度的實例講解

    python增加矩陣維度的實例講解

    下面小編就為大家分享一篇python增加矩陣維度的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 20招讓你的Python飛起來!

    20招讓你的Python飛起來!

    20招讓你的 Python飛起來!這篇文章主要為大家詳細(xì)介紹了Python性能優(yōu)化的20條建議,感興趣的小伙伴們可以參考一下
    2016-09-09
  • PyCharm運行Python代碼時出現(xiàn)"未找到模塊"錯誤解決步驟

    PyCharm運行Python代碼時出現(xiàn)"未找到模塊"錯誤解決步驟

    在使用python的過程中經(jīng)常會遇到一個問題,就是叫什么名字的模塊未發(fā)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于PyCharm運行Python代碼時出現(xiàn)"未找到模塊"錯誤的解決步驟,需要的朋友可以參考下
    2023-11-11
  • python調(diào)用百度API實現(xiàn)人臉識別

    python調(diào)用百度API實現(xiàn)人臉識別

    這篇文章主要介紹了python調(diào)用百度API實現(xiàn)人臉識別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python 圖片處理庫exifread詳解

    Python 圖片處理庫exifread詳解

    這篇文章主要介紹了Python 圖片處理庫exifread詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Python?Setuptools的?setup.py實例詳解

    Python?Setuptools的?setup.py實例詳解

    setup.py是一個?python?文件,它的存在表明您要安裝的模塊/包可能已經(jīng)用?Setuptools?打包和分發(fā),這是分發(fā)?Python?模塊的標(biāo)準(zhǔn)。?它的目的是正確安裝軟件,本文給大家講解Python?Setuptools的?setup.py感興趣的朋友跟隨小編一起看看吧
    2022-12-12
  • Python中%是什么意思?python中百分號如何使用?

    Python中%是什么意思?python中百分號如何使用?

    最近在學(xué)習(xí)python過程中,發(fā)現(xiàn)了%的一些情況,這里就簡單介紹一下,,需要的朋友可以參考下
    2018-03-03
  • Pandas 處理DataFrame中的inf值實現(xiàn)

    Pandas 處理DataFrame中的inf值實現(xiàn)

    Inf 表示正無窮大或負(fù)無窮大,通常是在數(shù)學(xué)計算中產(chǎn)生的結(jié)果,本文主要介紹了Pandas 處理DataFrame中的inf值實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • python中l(wèi)ist列表復(fù)制的幾種方法(賦值、切片、copy(),deepcopy())

    python中l(wèi)ist列表復(fù)制的幾種方法(賦值、切片、copy(),deepcopy())

    本文主要介紹了python中l(wèi)ist列表復(fù)制的幾種方法(賦值、切片、copy(),deepcopy()),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python+random模塊實現(xiàn)隨機抽樣

    Python+random模塊實現(xiàn)隨機抽樣

    python的random庫,提供了很多隨機抽樣方法。本文將通過幾個示例為大家詳細(xì)講講random模塊實現(xiàn)隨機抽樣的方法,需要的可以參考一下
    2022-09-09

最新評論