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

时间:2018-05-21 20:00:12

标签: python list

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

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}

我该怎么做?

2 个答案:

答案 0 :(得分:5)

您可以使用key的{​​{1}}参数:

min

答案 1 :(得分:1)

您可以使用itemgetter

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}