日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python的遍历字典里的键然后放到一个列表里_Python列表和字典互相嵌套怎么办?看完让你没有疑惑...

發(fā)布時(shí)間:2025/3/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python的遍历字典里的键然后放到一个列表里_Python列表和字典互相嵌套怎么办?看完让你没有疑惑... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文 | 猿天罡

前言

前兩篇文章,我們學(xué)習(xí)了Python字典的基本用法和遍歷字典的三種方式。

為了讓小伙伴們不耗費(fèi)多余的注意力,我們舉的例子都盡可能的簡單,不信你回去看看,字典鍵對應(yīng)的值都是基本數(shù)據(jù)類型(字符串、數(shù)字等)。

其實(shí),字典里鍵對應(yīng)的值可以很復(fù)雜。

我們可以在字典中存儲列表,在列表中存儲字典,在字典中存儲字典等等。

Python中幾乎所有的數(shù)據(jù)類型,都可以存進(jìn)字典里。

學(xué)習(xí)不是一日之功,需擺正心態(tài),持之以恒,希望小伙伴們對學(xué)習(xí)一門語言抱有基本的耐心。

下面我們來開心地學(xué)習(xí)吧。

1.在字典里存儲列表

1.1字典里不全是列表

筆者在大學(xué)的時(shí)候,需要學(xué)習(xí)四門基礎(chǔ)專業(yè)課。

course = ['數(shù)據(jù)結(jié)構(gòu)', '計(jì)算機(jī)網(wǎng)絡(luò)', '計(jì)算機(jī)組成原理', '操作系統(tǒng)']

如果我們聲明一個(gè)學(xué)生字典,則專業(yè)課列表應(yīng)該在學(xué)生字典之中。

student = { 'name': 'kelvin', 'age': 18, 'course': ['數(shù)據(jù)結(jié)構(gòu)', '計(jì)算機(jī)網(wǎng)絡(luò)', '計(jì)算機(jī)組成原理', '操作系統(tǒng)']}

注:也可以用雙引號包裹字符串(別的文章可不會提醒的這么詳細(xì))

這種情況下,要想訪問課程列表,和我們講的字典訪問方法一毛一樣(基礎(chǔ)挺重要的):student['course']。

下面我們來打印這個(gè)學(xué)生的信息。

# 概述學(xué)生基本信息print('姓名:', student['name'], '年齡:', student['age'])print('課程信息如下:')for course in student['course']: print("" + course)

運(yùn)行結(jié)果如下:

說明(看得懂代碼可以跳過):

首先,我們創(chuàng)建了一個(gè)學(xué)生字典,字典里存儲了學(xué)生的姓名、年齡和課程信息。姓名和年齡都是基本數(shù)據(jù)類型(一個(gè)字符串另一個(gè)數(shù)字),課程是列表結(jié)構(gòu)。

然后,我們通過字典訪問方法字典['鍵'],一下子就把姓名和年齡拿到并輸出了。

最后,我們通過student['course']拿到了一個(gè)課程列表,但直接輸出格式太不好看了,所以我們對其進(jìn)行了遍歷,依次輸出學(xué)生要上的課程。

1.2字典里全是列表

還有一種字典里存列表的情況:鍵對應(yīng)的值全是列表。

遇到這種情況心里可以偷著樂,因?yàn)檠h(huán)遍歷的時(shí)候格式會很好看(后文會有解釋)。

學(xué)校老師需要每個(gè)學(xué)生的課程信息(因?yàn)橛械娜诉x課會不一樣)。

這個(gè)時(shí)候把學(xué)生姓名做鍵(實(shí)際情況下是用學(xué)號,姓名會重復(fù)),以學(xué)生課程列表為值可以組成字典。

courses = { 'kelvin': ['數(shù)據(jù)結(jié)構(gòu)', '計(jì)算機(jī)網(wǎng)絡(luò)', '計(jì)算機(jī)組成原理', '操作系統(tǒng)'], 'vicky': ['xx經(jīng)濟(jì)學(xué)', '西方經(jīng)濟(jì)學(xué)', '統(tǒng)計(jì)學(xué)', '發(fā)展經(jīng)濟(jì)學(xué)']}

我們把多個(gè)學(xué)生的課程表打印輸出。

for name, course in courses.items(): print(name + '同學(xué)所學(xué)課程:') for c in course: print("" + c)

因?yàn)槊總€(gè)鍵對應(yīng)的都是列表,所以需要再使用一個(gè)for循環(huán)來遍歷學(xué)生課程列表。

解釋(看得懂代碼可以跳過):

首先,使用外層for循環(huán),依次將courses字典里的鍵和值分別賦值給變量name和course。

然后,name對應(yīng)的值是個(gè)簡單的字符串,所以我們直接打印輸出了。

最后,遍歷course列表,格式化地打印學(xué)生所學(xué)課程。

再注:字典里不全是字典也可以用雙層循環(huán),只不過我們需要加個(gè)if判斷,如果值是列表才能進(jìn)入到內(nèi)層循環(huán)。

2.在字典里存儲字典

字典里存儲字典很像俄羅斯套娃。

循環(huán)(打開)一層字典后,面對的還是字典,真是讓人驚喜又驚喜。

和在字典中存儲列表一樣,在字典里存儲字典也有兩種情況。

聰明的小伙伴已經(jīng)猜到了:在字典里不全是字典和在字典里全是字典。

看著讓人有點(diǎn)頭暈(建議看下前面的小標(biāo)題清醒一下)。

因?yàn)樵谧值淅锊蝗亲值浔容^簡單(不理解的歡迎私信),所以我們重點(diǎn)講講在字典里全是字典的情況。

學(xué)校需要學(xué)生信息表(不是學(xué)生所上課程信息)。

如果要用字典來存儲的話,可以這樣。

students = { 'kelvin': { 'age': 18, 'course': ['數(shù)據(jù)結(jié)構(gòu)', '計(jì)算機(jī)網(wǎng)絡(luò)', '計(jì)算機(jī)組成原理', '操作系統(tǒng)'] }, 'vicky': { 'age': 19, 'course': ['xx經(jīng)濟(jì)學(xué)', '西方經(jīng)濟(jì)學(xué)', '統(tǒng)計(jì)學(xué)', '發(fā)展經(jīng)濟(jì)學(xué)'] }}

可以看到,外層students字典里面存儲的依然是以學(xué)生姓名為鍵,學(xué)生其他信息為值的字典。

更過分地是學(xué)生其他信息里竟然還有個(gè)學(xué)生列表。

看我們怎么處理這些數(shù)據(jù)。

for name, student in students.items(): print("姓名: 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的python的遍历字典里的键然后放到一个列表里_Python列表和字典互相嵌套怎么办?看完让你没有疑惑...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。