Python學習_怎麼讀取字典的所有鍵-值對
如果字典中儲存了一些值,我想要取出來該怎麼操作呢?
1、我要取出字典中所有的鍵-值對
取出字典中所有的鍵-值對時,可以使用items()返回一個鍵值對列表,並配合for迴圈進行遍歷
#建立一個儲存一個學生的資訊,通過遍歷可以取出所有資訊
student={'name':'xiaoming','age':11,'school':'tsinghua'}
for key,value in student.items():
print(key+':'+str(value))
輸出:
age:11
name:xiaoming
school:tsinghua
注意:
遍歷出的返回值輸出和儲存的順序不一樣,輸出順序每次都會變化
在for迴圈中key和value兩個變數需要使用逗號‘,’隔開
2、我要取出字典中的鍵
可以使用keys()方法取出字典中的鍵,不取對應的值
#建立一個人和對應喜歡水果的字典
people={'lifei':'apple','fanming':'peach','gaolan':'banana','hanmeimie':'peach'}
for name in people.keys():
print(name)
輸出:(順序是隨機的)
hanmeimie
gaolan
fanming
lifei
注意:keys()方法返回的是列表,要用列表的思維考慮問題
keys()返回的值順序是不確定的,如果想按序排列,可以使用sorted()進行排序
#建立一個人和對應喜歡水果的字典
people={'lifei':'apple','fanming':'peach','gaolan':'banana','hanmeimie':'peach'}
for name in sorted(people.keys()):
print(name)
輸出:
fanming
gaolan
hanmeimie
lifei
3、我要取出字典中的值
可以使用values()取出字典中的值
#建立一個人和對應喜歡水果的字典
people={'lifei':'apple','fanming':'peach','gaolan':'banana' ,'hanmeimie':'peach'}
for fruit in people.values():
print(fruit)
輸出:
peach
banana
peach
apple
注意,有沒有看到上邊輸出的結果中有重複值,如果我想去除重複值怎麼辦呢,可以使用集合set() 去除重複值
#建立一個人和對應喜歡水果的字典
people={'lifei':'apple','fanming':'peach','gaolan':'banana','hanmeimie':'peach'}
for fruit in set(people.values()):
print(fruit)
輸出:
apple
peach
banana
練習
建立一個人員名單,有些人在水果字典中(承接上邊的喜歡水果字典),有些人不在其中,對於已明確喜歡水果的,詢問是否還需要其它的水果,對於未明確喜歡水果的,邀請他說出他喜歡的一種水果。
#建立一個人和對應喜歡水果的字典
people_fruit={'lifei':'apple','fanming':'peach','gaolan':'banana','hanmeimei':'peach'}
people=['lilei','caiming','hanmeimei','gaolan']
for name in people:
if name in people_fruit.keys():
print('您還需要其他的水果嗎?')
elif name not in people_fruit.keys():
print('你能告訴我您喜歡的一種水果嗎?')
輸出:
你能告訴我您喜歡的一種水果嗎?
你能告訴我您喜歡的一種水果嗎?
您還需要其他的水果嗎?
您還需要其他的水果嗎?
總結
一上午好多事,費了好大勁才學完這一節啊
1、首先遍歷字典所有的鍵-值對可以使用items()
2、只遍歷鍵時可以使用key(),還可以使用sorted()進行排序
3、只遍歷值時,可以使用values(),還可以使用set()去除值中重複的值