如何从具有相同结构的字典数组中获取最大值?

时间:2017-11-04 11:37:39

标签: python python-3.x

我需要从具有最大索引值的字典中获取索引的最大值。我想这可以通过使用函数max()和lambda来完成,但我不知道它是如何正确的。

 data = [
    {'address': '499 Eastern Parkway',
      'city': 'Kenvil',
      'company': 'GONKLE',
      'country': 'India',
      'index': 0,
      'name': 'Shelby Gutierrez'},
     {'address': '552 Butler Place',
      'city': 'Rivereno',
      'company': 'FITCORE',
      'country': 'United States',
      'index': 1,
      'name': 'Jenny Cardenas'},
     {'address': '176 Pleasant Place',
      'city': 'Coultervillle',
      'company': 'CONFRENZY',
      'country': 'Sao Tome and Principe',
      'index': 2,
      'name': 'Boyer Austin'}
    ]

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

def maxIndex(data):
    return max(d['index'] for d in data)

print(maxIndex(data))

结果是:

2

如果您不想使用循环,您也可以这样做:

def maxIndexWithMap(data):
    return max(list(map(lambda i: i['index'], data)))

print(maxIndexWithMap(data))

结果又是:

2

答案 1 :(得分:0)

如果它只是你要找的值,那么生成器表达应该这样做:

max(d['index'] for d in data)