App下載

Python 怎么讀取字典的所有鍵值對?

港城寶藏女孩 2021-08-12 09:11:32 瀏覽數(shù) (5662)
反饋

很多小伙伴在學習字典的時候對這個數(shù)據(jù)結構的使用抱有疑惑,其實對于字典的操作無非就是讀和寫,那么python怎么讀取字典的鍵值對呢?接下來的這篇文章帶你了解。

1、我要取出字典中所有的鍵-值對

取出字典中所有的鍵-值對時,可以使用items()返回一個鍵值對列表,并配合for循環(huán)進行遍歷

#創(chuàng)建一個存儲一個學生的信息,通過遍歷可以取出所有信息
student={'name':'xiaoming','age':11,'school':'tsinghua'}
for key,value in student.items():
    print(key+':'+str(value))

輸出:

age:11

name:xiaoming

school:tsinghua

注意:

遍歷出的返回值輸出和存儲的順序不一樣,輸出順序每次都會變化

在for循環(huán)中key和value兩個變量需要使用逗號‘,'隔開

2、我要取出字典中的鍵

可以使用keys()方法取出字典中的鍵,不取對應的值

#創(chuàng)建一個人和對應喜歡水果的字典
people={'lifei':'apple','fanming':'peach','gaolan':'banana','hanmeimie':'peach'}
for name in people.keys():
    print(name)

輸出:(順序是隨機的)

hanmeimie

gaolan

fanming

lifei

注意:keys()方法返回的是列表,要用列表的思維考慮問題

keys()返回的值順序是不確定的,如果想按序排列,可以使用sorted()進行排序

#創(chuàng)建一個人和對應喜歡水果的字典
people={'lifei':'apple','fanming':'peach','gaolan':'banana','hanmeimie':'peach'}
for name in sorted(people.keys()):
    print(name)

輸出:

fanming

gaolan

hanmeimie

lifei

3、我要取出字典中的值

可以使用values()取出字典中的值

#創(chuàng)建一個人和對應喜歡水果的字典
people={'lifei':'apple','fanming':'peach','gaolan':'banana','hanmeimie':'peach'}
for fruit in people.values():
    print(fruit)

輸出:

peach

banana

peach

apple

注意,有沒有看到上邊輸出的結果中有重復值,如果我想去除重復值怎么辦呢,可以使用集合set() 去除重復值

#創(chuàng)建一個人和對應喜歡水果的字典
people={'lifei':'apple','fanming':'peach','gaolan':'banana','hanmeimie':'peach'}
for fruit in set(people.values()):
    print(fruit)

輸出:

apple

peach

banana

練習

創(chuàng)建一個人員名單,有些人在水果字典中(承接上邊的喜歡水果字典),有些人不在其中,對于已明確喜歡水果的,詢問是否還需要其它的水果,對于未明確喜歡水果的,邀請他說出他喜歡的一種水果。

#創(chuàng)建一個人和對應喜歡水果的字典
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('你能告訴我您喜歡的一種水果嗎?')

輸出:

你能告訴我您喜歡的一種水果嗎?

你能告訴我您喜歡的一種水果嗎?

您還需要其他的水果嗎?

您還需要其他的水果嗎?

總結

一上午好多事,費了好大勁才學完這一節(jié)啊

1、首先遍歷字典所有的鍵-值對可以使用items()

2、只遍歷鍵時可以使用key(),還可以使用sorted()進行排序

3、只遍歷值時,可以使用values(),還可以使用set()去除值中重復的值

補充:python 取出字典的鍵或者值/如何刪除一個字典的鍵值對/如何遍歷字典

先定義一個字典并直接進行初始化賦值

my_dict = dict(name="lowman", age=45, money=998, hourse=None)

1.取出該字典所有的鍵

key_list = my_dict.keys() 返回的是列表

my_dict = dict(name="lowman", age=45, money=998, hourse=None)
key_list = my_dict.keys()
print(list(key_list))

輸出:

['hourse', 'name', 'age', 'money']

取出字典所有的鍵,這里其實還有一個方法, 就是使用內置函數(shù)set(), 將其轉換為集合數(shù)據(jù)結構. 集合,其實可以理解為只有鍵的字典:

item = {"name": "lowman", "age": 27}
data = set(item)
print(data)

輸出:

{'age', 'name'}

注意,這樣輸出的是集合類型

2.取出該字典所有的值

value_list = my_dict.values() 返回的是列表

my_dict = dict(name="lowman", age=45, money=998, hourse=None)
value_list = my_dict.values() 
print(list(value_list))

輸出:

[None, 45, 'lowman', 998]

注意:在python2環(huán)境中這兩個方法返回的是列表,但是在python3環(huán)境下返回的卻是迭代器,如果希望通過下標直接取到需要的元素,可以通過list()方法將其先轉化為列表,再進行取值.

3.取出字典某個鍵的值

value = my_dict["key"] 這樣取值的話如果沒有這個鍵就會拋出異常

4.安全地取出字典某個鍵的值

這樣取值的話如果沒有這個鍵就返回None:value = my_dict.get("key")

也可以自定義一個默認值進行返回:value = my_dict.get("key", 默認值)

5.遍歷字典

for item in my_dict:
    print(item)

輸出:

name

hourse

money

age

取出的是該字典的鍵

6.自帶方法 items() 可以同時取出鍵與值

for key, value in my_dict.items():
    print(key,value)
  for item in my_dict.items():
    print(item) # 這樣取值的話,返回的就是一個元組,里面包含兩個元素,第一個是鍵,第二個為值 

輸出:

hourse None

money 998

age 45

name lowman

('hourse', None)

('money', 998)

('age', 45)

('name', 'lowman')

7.刪除一個字典的鍵值對

my_dict = {"name":"lowman", "age":12}
del my_dict["name"]

這樣就把整個鍵值對給刪除掉了

以上就是python怎么讀取字典的鍵值對的全部內容了,希望能給大家一個參考,也希望大家多多支持W3Cschool


0 人點贊