如何打印字典中年龄最大的人的姓名和城市?
box_dict = {'name': ['maor', 'gal'], 'song': ['Amsterdam', 'Berlin'], 'age': [20, 35]}
print(max(box_dict["age"]))
我可以算出年龄最大的人的年龄,但我希望他打印出这个人的名字,而不是他的年龄。
35
我只想打印最年长的的名字
gal
你怎么能只打印最年长的人的名字?
您可以将max
函数与key
参数一起使用,该参数允许您根据特定的属性/索引进行比较。尝试:
oldest_person_name = max(zip(box_dict["name"], box_dict["age"]), key=lambda x: x[1])[0]
print(oldest_person_name) # gal
尝试一下。它获取最大年龄的索引,并在名称值列表中使用它。
mAge = max(box_dict["age"])
prson = box_dict['age'].index(mAge)
mName = box_dict['name'][prson]
类似的东西:
d = {"name": ["maor", "gal"], "song": ["Amsterdam" "Berlin"], "age": [20, 35]}
max_index = max(d["name"], key=lambda k: d["age"][d["name"].index(k)])