![](/img/trans.png)
[英]How to get make a list of key names from a list of dictionaries in Python
[英]How to get first names of all persons in list of dictionaries?
從字典列表中獲取值 創建一個函數iterateDictionary2(key_name, some_list)
,給定一個字典列表和一個鍵名,該函數為每個字典打印存儲在該鍵中的值。 例如, iterateDictionary2('first_name', students)
, iterateDictionary2('first_name', students)
應該輸出:
Michael
John
Mark
KB
並且iterateDictionary2('last_name', students)
應該輸出:
Jordan
Rosales
Guillen
Tonel
以下是給定的字典列表。
`students = [
{'first_name': 'Michael', 'last_name' : 'Jordan'},
{'first_name' : 'John', 'last_name' : 'Rosales'},
{'first_name' : 'Mark', 'last_name' : 'Guillen'},
{'first_name' : 'KB', 'last_name' : 'Tonel'}
]`
我已經嘗試了特定的目標print(students[0]['first_name'])
至少向我展示我在 dict 列表中的工作位置,但我很難一次訪問所有詞典。
我的代碼未完成,因為我正在努力解決這個問題。
def getValues(keyName, someList):
for i in len(someList):
print(getValues('first_name', students))
我繼續收到錯誤,我幾乎不知道從哪里開始。
嘗試這個:
def iterateDictionary2(key_name, students):
return [student[key_name] for student in students]
然后調用('first_name', students)
方法的輸出將是這些值的列表: ['Michael', 'John', 'Mark', 'KB']
# method with two params a key and a list
def iterateDictionary(key, students):
for s in students:
print(s[key])
# a list
students = [
{'first_name': 'Michael', 'last_name' : 'Jordan'},
{'first_name' : 'John', 'last_name' : 'Rosales'},
{'first_name' : 'Mark', 'last_name' : 'Guillen'},
{'first_name' : 'KB', 'last_name' : 'Tonel'}
]
# printing the first names
print("Printing First names ..")
# calling the method with a key (first_name) and a list
iterateDictionary('first_name', students)
# printing the last names
print("Printing Last names ..")
# calling the method with a key (last_name) and a list
iterateDictionary('last_name', students)
輸出:
Printing First names ..
Michael
John
Mark
KB
Printing Last names ..
Jordan
Rosales
Guillen
Tonel
編輯:
如果您希望它們打印在列表中:
def iterateDictionary(key, students):
print([s[key] for s in students])
輸出:
Printing First names ..
['Michael', 'John', 'Mark', 'KB']
Printing Last names ..
['Jordan', 'Rosales', 'Guillen', 'Tonel']
#students = [
# {'first_name': 'Michael', 'last_name' : 'Jordan'},
# {'first_name' : 'John', 'last_name' : 'Rosales'},
# {'first_name' : 'Mark', 'last_name' : 'Guillen'},
# {'first_name' : 'KB', 'last_name' : 'Tonel'}
#]
def iterateDictionary2(key_name, some_list):
for d in some_list:
print(d[key_name])
iterateDictionary2('first_name', students)
#Michael
#John
#Mark
#KB
iterateDictionary2('last_name', students)
#Jordan
#Rosales
#Guillen
#Tonel
def get_first_name_list(students):
return [st['first_name'] for st in students if 'first_name' in st]
這將起作用,在此代碼中檢查字典列表是否具有 'first_name' 鍵,如果字典具有 'first_name' 鍵,則 first_name 的值將附加到列表中。 和列表將返回。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.