溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python怎么使用字典的嵌套功能

發(fā)布時(shí)間:2021-03-30 10:06:45 來源:億速云 閱讀:190 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python怎么使用字典的嵌套功能,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1、在列表中存儲(chǔ)字典

#假設(shè)年級(jí)里有一群國際化的學(xué)生,有黃皮膚的中國人、有白皮膚的美國人也有黑皮膚的非洲人,只記錄部分特征
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', ‘a(chǎn)ge': ‘15', ‘colour': ‘yellow'}
{‘nationality': ‘America', ‘a(chǎn)ge': ‘18', ‘colour': ‘white'}
{‘nationality': ‘Africa', ‘a(chǎn)ge': ‘17', ‘colour': ‘dark'}

注意,上邊的實(shí)例中就將字典作為列表的元素進(jìn)行了嵌套,然后利用列表進(jìn)行遍歷
下邊假設(shè)年級(jí)里有30個(gè)同樣年齡的中國學(xué)生,利用嵌套進(jìn)行生成

#定義一個(gè)存儲(chǔ)中國學(xué)生的列表,假設(shè)年齡都一樣
chinese=[]
#創(chuàng)建30個(gè)中國學(xué)生
for student in range(0,30):
  student_1={'nationality':'China','colour':'yellow','age':'15'}
  chinese.append(student_1)
#顯示一共創(chuàng)建了多少個(gè)學(xué)生
print('一共創(chuàng)建了:'+str(len(chinese))+'個(gè)學(xué)生')
#顯示前5個(gè)中國學(xué)生
for stu in chinese[:5]:
  print(stu)

輸出:

{‘colour': ‘yellow', ‘a(chǎn)ge': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘a(chǎn)ge': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘a(chǎn)ge': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘a(chǎn)ge': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘a(chǎn)ge': ‘15', ‘nationality': ‘China'}

可是這么多學(xué)生的年齡都相同,顯得不夠自然,我們將前兩個(gè)中國學(xué)生改成美國學(xué)生、年齡改成14歲

#定義一個(gè)存儲(chǔ)中國學(xué)生的列表,假設(shè)年齡都一樣
chinese=[]
#創(chuàng)建30個(gè)中國學(xué)生
for student in range(0,30):
  student_1={'nationality':'China','colour':'yellow','age':'15'}
  chinese.append(student_1)
#顯示一共創(chuàng)建了多少個(gè)學(xué)生
print('一共創(chuàng)建了:'+str(len(chinese))+'個(gè)學(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個(gè)中國學(xué)生
for stu in chinese[:5]:
  print(stu)

輸出:

一共創(chuàng)建了:30個(gè)學(xué)生
{‘colour': ‘white', ‘nationality': ‘America', ‘a(chǎn)ge': 14}
{‘colour': ‘white', ‘nationality': ‘America', ‘a(chǎn)ge': 14}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘a(chǎn)ge': ‘15'}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘a(chǎn)ge': ‘15'}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘a(chǎn)ge': ‘15'}

備注:學(xué)到這里發(fā)現(xiàn)列表和字典的知識(shí)有點(diǎn)薄弱啊

2、在字典中存儲(chǔ)列表

假設(shè)有個(gè)小店,里邊賣了2種粥,但是每種粥的配料都不一樣,利用一個(gè)字典記錄兩種粥及其配料

#為了簡化就不把配料全寫出來了
gruel={
  '八寶粥':['大米','桂圓','紅棗','芡實(shí)','蓮子','薏仁','黑豆','核桃仁'],
  '瘦肉粥':['大米','瘦肉']
  }
for key,value in gruel.items():
  print('\n'+key,end=':')
  for batching in value:
    print(batching, end=' ')

輸出:

八寶粥:大米 桂圓 紅棗 芡實(shí) 蓮子 薏仁 黑豆 核桃仁
瘦肉粥:大米 瘦肉

注意:
為了實(shí)現(xiàn)print()輸出不換行,這里增加了end參數(shù)
配料作為列表存儲(chǔ)在了字典里

3、在字典中嵌套字典

以班里有兩個(gè)同學(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í)了列表中嵌套字典、字典中嵌套列表、字典中嵌套字典的方式實(shí)現(xiàn)字典的復(fù)雜運(yùn)用

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python怎么使用字典的嵌套功能”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI