如何使最大值不在列表中

时间:2019-04-13 04:18:41

标签: 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']))不起作用。

3 个答案:

答案 0 :(得分:2)

使用before itemgetter参数:

key

答案 1 :(得分:1)

您可以使用list comprehension<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="loaded-data"></div> <a id="a-load" href="#" data-url="http://www.philart.net/api/people.json">People</a> <div id="result-box"> </div>键获取所有值,然后使用high函数获取最大值

max()
  

5067

答案 2 :(得分:1)

max(可迭代,* [,键,默认])-返回可迭代的最大项或两个或多个参数中的最大值。

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