當需要存儲很多同類型的不通過數據時可能需要使用到嵌套,先用一個例子說明嵌套的使用
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'}
注意,上邊的實例中就將字典作為列表的元素進行了嵌套,然后利用列表進行遍歷
下邊假設年級里有30個同樣年齡的中國學生,利用嵌套進行生成
#定義一個存儲中國學生的列表,假設年齡都一樣chinese=[]#創建30個中國學生for student in range(0,30): student_1={'nationality':'China','colour':'yellow','age':'15'} chinese.append(student_1)#顯示一共創建了多少個學生print('一共創建了:'+str(len(chinese))+'個學生')#顯示前5個中國學生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'}
可是這么多學生的年齡都相同,顯得不夠自然,我們將前兩個中國學生改成美國學生、年齡改成14歲
#定義一個存儲中國學生的列表,假設年齡都一樣chinese=[]#創建30個中國學生for student in range(0,30): student_1={'nationality':'China','colour':'yellow','age':'15'} chinese.append(student_1)#顯示一共創建了多少個學生print('一共創建了:'+str(len(chinese))+'個學生')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個中國學生for stu in chinese[:5]: print(stu)輸出:
一共創建了:30個學生
{‘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'}
備注:學到這里發現列表和字典的知識有點薄弱啊
2、在字典中存儲列表
假設有個小店,里邊賣了2種粥,但是每種粥的配料都不一樣,利用一個字典記錄兩種粥及其配料
#為了簡化就不把配料全寫出來了gruel={ '八寶粥':['大米','桂圓','紅棗','芡實','蓮子','薏仁','黑豆','核桃仁'], '瘦肉粥':['大米','瘦肉'] }for key,value in gruel.items(): print('/n'+key,end=':') for batching in value: print(batching, end=' ')輸出:
八寶粥:大米 桂圓 紅棗 芡實 蓮子 薏仁 黑豆 核桃仁
瘦肉粥:大米 瘦肉
注意:
為了實現print()輸出不換行,這里增加了end參數
配料作為列表存儲在了字典里
3、在字典中嵌套字典
以班里有兩個同學為示例
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
這一節主要學習了字典的嵌套功能,主要學習了列表中嵌套字典、字典中嵌套列表、字典中嵌套字典的方式實現字典的復雜運用
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答