一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python中字典和列表的相互嵌套問題詳解

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

2022-03-01 11:48Wanster Python

這篇文章主要為大家詳細介紹了python中字典和列表相互嵌套的問題,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

首先明確:

1.訪問字典中的元素:dict_name[key] / dict_name.get(key)

2.訪問列表中的元素:list_name[索引]

1.列表中存儲字典:

1.列表中存儲多個字典

?
1
2
3
4
p={'name':'lin','age':21}
y={'name':'xue','age':20}
c=[p,y]
print(c)

輸出結果:

[{'name': 'Jonh', 'age': 18}, {'name': 'Marry', 'age': 19}]

2.訪問列表中字典的值

?
1
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方法訪問字典里的值

輸出結果:

person's name is Jonh
Marry's age is 19

3.遍歷訪問多個值

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

輸出結果:

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

因為字典中有多個鍵值對,所以進行多層嵌套。

外層嵌套訪問列表中的每個字典,內層嵌套訪問每個字典元素的鍵值對。

?
1
2
3
4
for person in people:   
    #在每個遍歷的字典里再進行嵌套(內層循環)
    for k,v in person.items():         
        print(f"{k}:{v}")

輸出結果:

name:Jonh
age:18
name:Marry
age:19name:Jonh
age:18
name:Marry
age:19

2.字典中存儲列表

1.訪問字典中的列表元素

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

?
1
2
3
4
5
6
7
8
9
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())

輸出結果:

['beijing', 'tianjin']
Beijing

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

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

?輸出結果:

Beijing
Tianjin

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

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

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

 輸出結果:

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

為了避免,要進行循環嵌套

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

輸出結果:

Lin favourite places are:
Beijing
Tianjin
Jing favourite places are:
Chengdu
Leshan
Huang favourite places are:
Shenzhen

3.字典中存儲字典

1.字典中不能全部由字典元素組成,會報錯。

?
1
2
3
4
p={'name':'lin','age':21}
y={'name':'xue','age':20}
c={p,y}
print(c)

TypeError                                 Traceback (most recent call last)
<ipython-input-46-4127ab9ea962> in <module>
      1 p={'name':'lin','age':21}
      2 y={'name':'xue','age':20}
----> 3 c={p,y}
      4 print(c)

TypeError: unhashable type: 'dict'

2.字典中的值可由字典組成

?
1
2
3
4
5
6
7
8
9
10
11
12
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-----------循環嵌套的方法輸出-------------------')
for username,userinfo in users.items():
    print('\n'+username+':')
    for name,age in userinfo.items():
        print(name,age)

輸出結果:

-----------直接訪問輸出-------------------
lin 21
xue 20

-----------循環嵌套的方法輸出-------------------

a:
name lin
age 21

b:
name xue
age 20

4.容易出的小錯誤:

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

2.字典的值為列表,訪問的結果是輸出整個列表 需要嵌套循環遍歷里面的鍵值對。

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

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/Wanster/article/details/121319837

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 办公室恋情在线 | 亚洲欧美优优色在线影院 | 小小水蜜桃视频高清在线观看免费 | 国产成人综合亚洲亚洲欧美 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 亚洲国产成人久久综合区 | 91九色最新地址 | 国产精品久久国产精品99盘 | 亚洲日日做天天做日日谢 | 特黄aa级毛片免费视频播放 | 亚洲欧美综合在线观看 | 美女一级ba大片免色 | 四虎影视在线影院在线观看观看 | 免费一级日本c片完整版 | 成人高清视频在线观看 | 舔比小说 | 欧美人做人爱a全程免费 | 美女大乳被捏羞羞漫画 | 性福演算法| 色视频综合 | 青草视频免费观看在线观看 | 国产精品日韩欧美一区二区 | 四虎tv| 亚洲精品乱码蜜桃久久久 | 国产激情视频在线 | 亚洲看片lutube在线入口 | 日本在线观看视频网站 | 久久最新地址获取 | juliaann大战两个黑人 | 天堂网www在线中文天堂 | gay男强壮军人chinese | 青涩体验在线观看未删减 | 国产精品视频色拍拍 | 亚洲日本视频在线 | 青视频在线 | 久久这里只有精品国产精品99 | 欧美另类xxx精品人妖 | 好大好爽好硬我要喷水了 | s0e一923春菜花在线播放 | 精品性影院一区二区三区内射 | 欧美国产日韩1区俺去了 |