#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