选择字段具有最小值的列表元素

2024-10-03 00:16:42 发布

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

假设我有一个命名列表,如下所示:

myListOfPeople = [{'ID': 0, 'Name': 'Mary', 'Age': 25}, {'ID': 1, 'Name': 'John', 'Age': 28}]

我想选择一个元素(不仅仅是字段),其中一个特定字段满足某些条件,例如,具有最小“年龄”的元素。比如:

youngerPerson = [person for person in myListOfPeople if person = ***person with minimum age***]

答案是:

>>youngerPerson: {'ID': 0, 'Name': Mary, 'Age': 25}

我该怎么做


Tags: nameinid元素列表forage条件
2条回答

您可以使用^{}

from operator import itemgetter
myListOfPeople = [{'ID': 0, 'Name': 'Mary', 'Age': 25}, {'ID': 1, 'Name': 'John', 'Age': 28}]
sorted(myListOfPeople, key=itemgetter('Age'))[0]
# {'ID': 0, 'Name': 'Mary', 'Age': 25}

可以使用keymin参数:

>>> myListOfPeople = [{'ID': 0, 'Name': 'Mary', 'Age': 25}, {'ID': 1, 'Name': 'John', 'Age': 28}]
>>> 
>>> min(myListOfPeople, key=lambda x: x["Age"])
{'ID': 0, 'Name': 'Mary', 'Age': 25}
>>> 

相关问题 更多 >