[英]How to print dictionary items from list of dictionaries
我目前有這些數據:
data = [{'name': 'Bob', 'age': 20}, {'name': 'Phil', 'age': 21}, {'name': 'Jane', 'age': 42}]
我的目標是生產以下 output:
1 - Bob is 20
2 - Phil is 21
3 - Jane is 42
任何幫助將不勝感激。
您可以使用enumerate()
:
data = [{'name': 'Bob', 'age': 20},
{'name': 'Phil', 'age': 21},
{'name': 'Jane', 'age': 42}]
for i,d in enumerate(data):
print(f"{i+1} - {d['name']} is {d['age']}")
Output:
1 - Bob is 20
2 - Phil is 21
3 - Jane is 42
你可以這樣做:
for i, item in enumerate(data):
print(f"{i+1} - {item['name']} is {item['age']}")
#1 - Bob is 20
#2 - Phil is 21
#3 - Jane is 42
很多時候,在處理迭代器時,我們還需要保持迭代計數。 Python 通過為此任務提供內置 function enumerate()
簡化了程序員的任務。 Enumerate()
方法向可迭代對象添加一個計數器,並以enumerate object
的形式返回它。 這個枚舉 object 然后可以直接用於 for 循環或使用list()
方法轉換為元組列表。 你可以試試:
data = [{'name': 'Bob', 'age': 20}, {'name': 'Phil', 'age': 21}, {'name': 'Jane', 'age': 42}]
for key, value in enumerate(data):
print(f"{key+1} - {value['name']} is {value['age']}")
Output 將是:
1 - Bob is 20
2 - Phil is 21
3 - Jane is 42
您應該發布您已經嘗試過的內容。 如果你還沒有嘗試過,你應該先嘗試一下。
話雖如此,您基本上需要做兩件事:
假設您使用的是 python 3:
for element in data:
for key, value in element.items():
print(f"This is the key: {key} and this is the value: {value}")
外部循環遍歷您的數據變量,一次一個元素。 它將每個元素的值放在一個變量element
中。
在這種情況下, element
是一個字典。 內部循環遍歷該字典的每個組件。 字典有 2 個元素(鍵和對應的值)。 然后它將每個鍵放入變量key
中,並將該鍵的相應值放入變量value
中。
名稱鍵、值是任意的,如果您願意,您可以命名為 foo、bar。
請注意,無論是列表中的element
還是字典中的value
,類型都可以是任何類型。
編輯:最后的印刷品為后來的 python 版本使用了整潔的格式。 您可以有一個以f
開頭的字符串,然后使用 {} 將 python 表達式放在括號中。 這就是為什么 print(f"this is the {key}") 將返回變量key
而不是單詞 key 本身的打印表達式。
您也可以使用此代碼
for i in range(len(data)):
print(str(i+1)+" - "+data[i]["name"]+" is "+str(data[i]["age"]))
data = [{'name': 'Bob', 'age': 20},
{'name': 'Phil', 'age': 21},
{'name': 'Jane', 'age': 42}]
for idx, dic in enumerate(data, 1):
print(f"{idx} - dic['name'] is dic['age']")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.