Python使用字典的嵌套功能詳解
當需要存儲很多同類型的不通過數(shù)據(jù)時可能需要使用到嵌套,先用一個例子說明嵌套的使用
1、在列表中存儲字典
student_1={'nationality':'China','colour':'yellow','age':'15'}
student_2={'nationality':'America','colour':'white','age':'18'}
student_3={'nationality':'Africa','colour':'dark','age':'17'}
grade = [student_1,student_2,student_3]
for student in grade:
print(student)輸出:
{‘nationality’: ‘China’, ‘age’: ‘15’, ‘colour’: ‘yellow’}
{‘nationality’: ‘America’, ‘age’: ‘18’, ‘colour’: ‘white’}
{‘nationality’: ‘Africa’, ‘age’: ‘17’, ‘colour’: ‘dark’}
注意,上邊的實例中就將字典作為列表的元素進行了嵌套,然后利用列表進行遍歷
下邊假設(shè)年級里有30個同樣年齡的中國學(xué)生,利用嵌套進行生成
#定義一個存儲中國學(xué)生的列表,假設(shè)年齡都一樣
chinese=[]
#創(chuàng)建30個中國學(xué)生
for student in range(0,30):
student_1={'nationality':'China','colour':'yellow','age':'15'}
chinese.append(student_1)
#顯示一共創(chuàng)建了多少個學(xué)生
print('一共創(chuàng)建了:'+str(len(chinese))+'個學(xué)生')
#顯示前5個中國學(xué)生
for stu in chinese[:5]:
print(stu)輸出:
{‘colour’: ‘yellow’, ‘age’: ‘15’, ‘nationality’: ‘China’}
{‘colour’: ‘yellow’, ‘age’: ‘15’, ‘nationality’: ‘China’}
{‘colour’: ‘yellow’, ‘age’: ‘15’, ‘nationality’: ‘China’}
{‘colour’: ‘yellow’, ‘age’: ‘15’, ‘nationality’: ‘China’}
{‘colour’: ‘yellow’, ‘age’: ‘15’, ‘nationality’: ‘China’}
可是這么多學(xué)生的年齡都相同,顯得不夠自然
#定義一個存儲中國學(xué)生的列表,假設(shè)年齡都一樣
chinese=[]
#創(chuàng)建30個中國學(xué)生
for student in range(0,30):
student_1={'nationality':'China','colour':'yellow','age':'15'}
chinese.append(student_1)
#顯示一共創(chuàng)建了多少個學(xué)生
print('一共創(chuàng)建了:'+str(len(chinese))+'個學(xué)生')
for student_c in chinese[0:2]:
if student_c['nationality']=='China':
student_c['nationality']='America'
student_c['colour']='white'
student_c['age']=14
#顯示前5個中國學(xué)生
for stu in chinese[:5]:
print(stu)輸出:
一共創(chuàng)建了:30個學(xué)生
{‘colour’: ‘white’, ‘nationality’: ‘America’, ‘age’: 14}
{‘colour’: ‘white’, ‘nationality’: ‘America’, ‘age’: 14}
{‘colour’: ‘yellow’, ‘nationality’: ‘China’, ‘age’: ‘15’}
{‘colour’: ‘yellow’, ‘nationality’: ‘China’, ‘age’: ‘15’}
{‘colour’: ‘yellow’, ‘nationality’: ‘China’, ‘age’: ‘15’}
備注:學(xué)到這里發(fā)現(xiàn)列表和字典的知識有點薄弱啊
2、在字典中存儲列表
假設(shè)有個小店,里邊賣了2種粥,但是每種粥的配料都不一樣,利用一個字典記錄兩種粥及其配料
#為了簡化就不把配料全寫出來了
gruel={
'八寶粥':['大米','桂圓','紅棗','芡實','蓮子','薏仁','黑豆','核桃仁'],
'瘦肉粥':['大米','瘦肉']
}
for key,value in gruel.items():
print('\n'+key,end=':')
for batching in value:
print(batching, end=' ')輸出:
八寶粥:大米 桂圓 紅棗 芡實 蓮子 薏仁 黑豆 核桃仁
瘦肉粥:大米 瘦肉
注意:
為了實現(xiàn)print()輸出不換行,這里增加了end參數(shù)
配料作為列表存儲在了字典里
3、在字典中嵌套字典
以班里有兩個同學(xué)為示例
grade={
'趙麗穎':{
'國籍':'中國',
'民族':'漢',
'出生日期':'1987年10月16日',
'身高':'165cm',
},
'楊冪':{
'國籍':'中國',
'民族':'漢',
'出生日期':'1986年9月12日',
'身高':'166.5cm',
}
}
for name,info in grade.items():
print(name)
for key,value in info.items():
print(key+':'+value)輸出:
楊冪
國籍:中國
民族:漢
出生日期:1986年9月12日
身高:166.5cm
趙麗穎
國籍:中國
民族:漢
出生日期:1987年10月16日
身高:165cm
這一節(jié)主要學(xué)習(xí)了字典的嵌套功能,主要學(xué)習(xí)了列表中嵌套字典、字典中嵌套列表、字典中嵌套字典的方式實現(xiàn)字典的復(fù)雜運用
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
在Python中使用AOP實現(xiàn)Redis緩存示例
本篇文章主要介紹了在Python中使用AOP實現(xiàn)Redis緩存示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
python multiprocessing模塊用法及原理介紹
這篇文章主要介紹了python multiprocessing模塊用法及原理介紹,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
python opencv角點檢測連線功能的實現(xiàn)代碼
這篇文章主要介紹了python opencv角點檢測連線功能的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
使用python telnetlib批量備份交換機配置的方法
今天小編就為大家分享一篇使用python telnetlib批量備份交換機配置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
詳解numpy.ndarray.reshape()函數(shù)的參數(shù)問題
這篇文章主要介紹了詳解numpy.ndarray.reshape()函數(shù)的參數(shù)問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Python實現(xiàn)根據(jù)日期獲取當天凌晨時間戳的方法示例
這篇文章主要介紹了Python實現(xiàn)根據(jù)日期獲取當天凌晨時間戳的方法,涉及Python針對日期與時間戳的相關(guān)轉(zhuǎn)換、運算等操作技巧,需要的朋友可以參考下2019-04-04

