成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python中字典和列表的相互嵌套問題

番茄西紅柿 / 3000人閱讀

摘要:在學(xué)習(xí)過程中遇到了很多小麻煩所以將字典列表的循環(huán)嵌套問題進(jìn)行了個(gè)淺淺的總結(jié)分類。外層嵌套訪問列表中的每個(gè)字典內(nèi)層嵌套訪問每個(gè)字典元素的鍵值對。

在學(xué)習(xí)過程中遇到了很多小麻煩,所以將字典列表的循環(huán)嵌套問題,進(jìn)行了個(gè)淺淺的總結(jié)分類。

  1. 列表中存儲字典
  2. 字典中存儲列表
  3. 字典中存儲字典
  4. 易錯(cuò)點(diǎn)

首先明確:

①訪問字典中的元素:dict_name[key]? /? dict_name.get(key)
②訪問列表中的元素:list_name[索引]
  1. 1.列表中存儲字典:

  • ①列表中存儲多個(gè)字典

p={'name':'lin','age':21}y={'name':'xue','age':20}c=[p,y]print(c)
  1. 輸出結(jié)果:[{'name': 'Jonh', 'age': 18}, {'name': 'Marry', 'age': 19}]
  2. ②訪問列表中字典的值

  3. print(f"person's name is {people[0].get('name')}")print(f"{people[1].get('name')}'s age is {people[1].get('age')}")#先用person[0/1]訪問列表里的元素(字典),再用get方法訪問字典里的值

    輸出結(jié)果:

    person's name is JonhMarry's age is 19
  4. ③遍歷訪問多個(gè)值

for person in people:                                            #將列表中的字典,依次賦值給person                           print(f"{person['name']}'s age is {person['age']}")              #取出每個(gè)循環(huán)里變量person(字典)的鍵和值

?輸出結(jié)果:

Jonh's age is 18Marry's age is 19

?因?yàn)樽值渲杏卸鄠€(gè)鍵值對,所以進(jìn)行多層嵌套。

外層嵌套訪問列表中的每個(gè)字典,內(nèi)層嵌套訪問每個(gè)字典元素的鍵值對。

for person in people:        #在每個(gè)遍歷的字典里再進(jìn)行嵌套(內(nèi)層循環(huán))    for k,v in person.items():                  print(f"{k}:{v}")

輸出結(jié)果:

name:Jonhage:18name:Marryage:19

2.字典中存儲列表

①訪問字典中的列表元素

先用list[索引]訪問列表中的元素,用dict[key]方法訪問字典中的值。

favourite_places={    'lin':['beijing','tianjin'],    'jing':['chengdu','leshan'],    'huang':['shenzhen']}#訪問字典中的值可以用:dict_name[key]print(favourite_places['lin'])#訪問列表里面的元素用索引:list_name[索引]print(favourite_places['lin'][0].title())

輸出結(jié)果:?

['beijing', 'tianjin']Beijing

循環(huán)訪問字典中列表的元素,也是要用dict_name[key]先訪問字典中的值(列表)

for i in favourite_places['lin']:         print(i.title())

輸出結(jié)果:

BeijingTianjin

②訪問字典中的值(字典中的值為列表)

注意:直接訪問字典中的值,會以列表的形式呈現(xiàn)。

for name,place in favourite_places.items():    print(f"{name.title()}'s favourite places are {place}")

?輸出結(jié)果:

Lin's favourite places are ['beijing', 'tianjin']Jing's favourite places are ['chengdu', 'leshan']Huang's favourite places are ['shenzhen']

為了避免,要進(jìn)行循環(huán)嵌套

for names,places in favourite_places.items():  #對三個(gè)鍵值對先進(jìn)行一個(gè)大循環(huán)    print(f'{names.title()} favourite places are:') #在大循環(huán)里每一組鍵值對開頭先打印這句話    for place in places:      #之后再對值進(jìn)行一個(gè)小循環(huán),打印出值中的每個(gè)元素        print(place.title())

輸出結(jié)果:

Lin favourite places are:BeijingTianjinJing favourite places are:ChengduLeshanHuang favourite places are:Shenzhen

3.字典中存儲字典

①字典中不能全部由字典元素組成,會報(bào)錯(cuò)。

p={'name':'lin','age':21}y={'name':'xue','age':20}c={p,y}print(c)
TypeError                                 Traceback (most recent call last) in       1 p={'name':'lin','age':21}      2 y={'name':'xue','age':20}----> 3 c={p,y}      4 print(c)TypeError: unhashable type: 'dict'

②字典中的值可由字典組成

users={    'a':{'name':'lin','age':21},    'b':{'name':'xue','age':20}}print('-----------直接訪問輸出-------------------')print(users['a']['name'],users['a']['age'])print(users['b']['name'],users['b']['age'])print('/n-----------循環(huán)嵌套的方法輸出-------------------')for username,userinfo in users.items():    print('/n'+username+':')    for name,age in userinfo.items():        print(name,age)

輸出結(jié)果:

-----------直接訪問輸出-------------------lin 21xue 20-----------循環(huán)嵌套的方法輸出-------------------a:name linage 21b:name xueage 20

4.容易出的小錯(cuò)誤:

①訪問順序:

可以用dict_name[key]? /? dict_name.get(key)訪問字典的值,也可以用列表索引list_name[索引]訪問列表的值。但是要注意哪個(gè)在外,哪個(gè)在內(nèi),先訪問外層,再訪問內(nèi)層,直接訪問內(nèi)層的會出錯(cuò)。

②字典的值為列表,訪問的結(jié)果是輸出整個(gè)列表

需要嵌套循環(huán)遍歷里面的鍵值對。

③字典中不能全部由字典元素組成

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/123373.html

相關(guān)文章

  • python基礎(chǔ)教程:序列化

    摘要:默認(rèn)情況下,它也是不安全的,如果數(shù)據(jù)是由黑客精心設(shè)計(jì)的,則反序列化的數(shù)據(jù)可能被植入惡意代碼??偨Y(jié)為我們提供了數(shù)據(jù)序列化的工具。如果是自己內(nèi)部使用,可以作為一個(gè)選擇進(jìn)行復(fù)雜對象的序列化。 上一節(jié)我們學(xué)習(xí)了文件的讀寫,把一個(gè)字符串(或字節(jié)對象)保存到磁盤是一件很容易的事情。但是在實(shí)際編程中,我們經(jīng)常需要保存結(jié)構(gòu)化數(shù)據(jù),比如復(fù)雜的字典、嵌套的列表等等,這時(shí)候就需要我們想辦法把這些結(jié)構(gòu)化數(shù)據(jù)先...

    gityuan 評論0 收藏0
  • Python 基礎(chǔ)起步 (七) 初識字典 Dictionary(絕命毒師前傳)

    摘要:大家好,我是小白,書接上回,我們目前已經(jīng)了解到了中很常見的一種數(shù)據(jù)類型,也初步掌握了一些自帶的有關(guān)的方法今天為大家介紹另外一種異?;鸨臄?shù)據(jù)結(jié)構(gòu)字典,不夸張的講,基本上我們熟悉了列表和字典后有關(guān)數(shù)據(jù)結(jié)構(gòu)這里就差不多啦,實(shí)際的項(xiàng)目中應(yīng)用的最多 大家好,我是小白,書接上回,我們目前已經(jīng)了解到了Python中很常見的一種數(shù)據(jù)類型:List,也初步掌握了一些Python自帶的有關(guān)List的方法...

    BaronZhang 評論0 收藏0
  • 操作之靈魂——拷貝

    摘要:原文地址首先需要搞清楚兩個(gè)概念賦值和引用,對于操作賦值操作程序先新建對象,然后將的值拷貝到中。切片操作屬于淺拷貝。 原文地址 首先需要搞清楚兩個(gè)概念:賦值和引用,對于操作 target = source: 賦值操作:程序先新建對象target,然后將source的值拷貝到target中。這里,target和source值相同,但是它們是兩個(gè)完全不同的對象。 引用操作:程序直接將tar...

    codercao 評論0 收藏0
  • Python學(xué)習(xí)之路5-字典

    摘要:本章主要介紹字典的概念,基本操作以及一些進(jìn)階操作。使用字典在中,字典是一系列鍵值對。中用花括號來表示字典。代碼定義空字典的語法結(jié)果如果要修改字典中的值,只需通過鍵名訪問就行。 《Python編程:從入門到實(shí)踐》筆記。本章主要介紹字典的概念,基本操作以及一些進(jìn)階操作。 1. 使用字典(Dict) 在Python中,字典是一系列鍵值對。每個(gè)鍵都與一個(gè)值相關(guān)聯(lián),用鍵來訪問值。Python中用...

    NicolasHe 評論0 收藏0
  • Python數(shù)據(jù)類型分支循環(huán)

    摘要:會認(rèn)為子類是一種父類類型。一般記為它是編程語言中表示文本的數(shù)據(jù)類型。運(yùn)算是與運(yùn)算,只有所有都為,運(yùn)算結(jié)果才是布爾值經(jīng)常用在條件判斷中列表列表是中使用最頻繁的數(shù)據(jù)類型。是中內(nèi)置的一種數(shù)據(jù)類型,可以隨時(shí)添加和刪除其中的元素。 了解過了Python的發(fā)展歷史,現(xiàn)在開始我們的Python基礎(chǔ)吧,如果你有學(xué)習(xí)過其他的編程語言,你可以跳過這一篇 PyCharm使用圖解 開發(fā)python的工具你可以...

    archieyang 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<