Python如何从列表中的多个字典中打印某个字典字段?

2024-09-29 21:56:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在做一个猜测谁喜欢游戏的学校工作,我似乎不能让这个工作。我要做的是让字段“Name”从列表中的所有字典中打印出来。在

 Greg = {"Name":"Greg", "HairLength":"Short", "HairColour":"Brown", "FacialHair":"Yes", "Jewellery":"Yes", "Hat":"No", "Lipstick":"No", "Gender":"Male"}

 Chris = {"Name":"Chris", "HairLength":"Long", "HairColour":"Blonde", "FacialHair":"No", "Jewellery":"No","Hat":"Yes", "Lipstick":"Yes", "Gender":"Male"}

 Jason = {"Name":"Jason", "HairLength":"Short", "HairColour":"Brown", "FacialHair":"Yes", "Jewellery":"No","Hat":"Yes", "Lipstick":"No", "Gender":"Male"}

 Clancy = {"Name":"Clancy", "HairLength":"Bald", "HairColour":"Red", "FacialHair":"Yes", "Jewellery":"No", "Hat":"No","Lipstick":"No", "Gender":"Male"}

 Betty = {"Name":"Betty", "HairLength":"Short", "HairColour":"Blonde", "FacialHair":"No", "Jewellery":"Yes","Hat":"Yes", "Lipstick":"Yes", "Gender":"Female"}

 Helen = {"Name":"Helen", "HairLength":"Short", "HairColour":"Brown", "FacialHair":"No", "Jewellery":"No", "Hat":"No","Lipstick":"Yes", "Gender":"Female"}

 Selena = {"Name":"Selena", "HairLength":"Long", "HairColour":"Brown", "FacialHair":"No", "Jewellery":"Yes","Hat":"No", "Lipstick":"No", "Gender":"Female"}

 Jacqueline = {"Name":"Jacqueline", "HairLength":"Long", "HairColour":"Red", "FacialHair":"Yes", "Jewellery":"Yes", "Hat":"No","Lipstick":"No", "Gender":"Female"}


AISuspects = ([Greg, Chris, Jason, Clancy, Betty, Selena, Helen,
Jacqueline])
UserSuspects = ([Greg, Chris, Jason, Clancy, Betty, Selena, Helen, Jacqueline])

print("AISuspects:")
#Here i want it to print the field "Name" in every dictionary within the list AISuspects 


print("UserSuspects:")
#Here i want it to print the field "Name" in every dictionary within the list UserSuspects

解决后的预期输出和电流输出:

AI怀疑: [“格雷格”,“克里斯”,“杰森”,“克兰西”,“贝蒂”,“赛琳娜”,“海伦”,“杰奎琳”]

用户怀疑: [“格雷格”,“克里斯”,“杰森”,“克兰西”,“贝蒂”,“赛琳娜”,“海伦”,“杰奎琳”]


Tags: nonamehatgendermaleyeschrisshort
2条回答
UserSuspects = [Greg['Name'], Chris['Name'],Jason['Name'], Clancy['Name'], Betty['Name'], Selena['Name'], Helen['Name'], Jacqueline['Name']]


print UserSuspects

你可以使用列表理解来得到所有嫌疑犯的名单

suspects_names = [suspect['Name'] for suspect in AISuspects]

然后可以使用print(' '.join(suspect_names))

如果您不介意在新行中打印每个名称,只需使用for循环:

^{pr2}$

注意列表定义周围的那些括号,你不需要它们,它们通常用于定义元组,所以我会去掉它们

相关问题 更多 >

    热门问题