Как получить максимальное значение из списка

#python

#python

Вопрос:

Я ищу, чтобы получить самый высокий «высокий» из приведенного ниже.

Ответ =

  [  
       {  
          'timestamp':'2019-04-13T04:12:00.000Z',
          'symbol':'XBTUSD',
          'open':5065,
          'high':5067,
          'low':5065.5,
          'close':5066.5,
          'trades':13,
          'volume':10002,
          'vwap':5066.8829,
          'lastSize':2,
          'turnover':197408849,
          'homeNotional':1.9740884899999998,
          'foreignNotional':10002
       },
       {  
          'timestamp':'2019-04-13T04:11:00.000Z',
          'symbol':'XBTUSD',
          'open':5065,
          'high':5065,
          'low':5065,
          'close':5065,
          'trades':0,
          'volume':0,
          'vwap':None,
          'lastSize':None,
          'turnover':0,
          'homeNotional':0,
          'foreignNotional':0
       },
       {  
          'timestamp':'2019-04-13T04:10:00.000Z',
          'symbol':'XBTUSD',
          'open':5065,
          'high':5065,
          'low':5065,
          'close':5065,
          'trades':2,
          'volume':2000,
          'vwap':5065,
          'lastSize':397,
          'turnover':39486000,
          'homeNotional':0.39486,
          'foreignNotional':2000
       }
    ]
 

Затем, чтобы напечатать все «высокие»:

 for h in response:
   print (h['high'])
 

Который печатает:

5067
5065
5065

Тогда возникает вопрос о том, как мне получить максимальное значение из списка чисел? В этом случае это будет «5067». Я пытался использовать метод max, но безрезультатно. (max(h['high'])) не работает.

Ответ №1:

Использование itemgetter и key параметр:

 from operator import itemgetter

max(h, key=itemgetter('high'))
 

Ответ №2:

max(iterable, *[, key, default]) — возвращает самый большой элемент в итерируемом или самый большой из двух или более аргументов.

 b=max(a, key=lambda x:x['high'])
print(b['high'])
 

Ответ №3:

Вы можете использовать понимание списка для получения всех значений из high ключа, а затем использовать max() функцию для получения максимального

 maximum = max([h['high'] for h in response])
print(maximum)
 

5067