簡體   English   中英

如何獲取字典列表中所有人的名字?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM