У меня есть этот код, и мне нужно получить ответ, который возвращает мне 10 самых высоких чисел на процент_change_24h из переменной 'r'. Какой метод мне следует использовать? Я видел метод max, но он возвращает только одно значение (самое высокое, но только одно)

   url='https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest'

params={
    'start':'1',
    'limit':'100',
    'convert':'USD'
}

headers={
    'Accepts':'applications/json',
    'X-CMC_PRO_API_KEY':'b8ee0ea1-ae9b-44ab-9132-02e6e5430eb1'
}

#data= requests.get(url=url,headers=headers,params=params).json()
#pprint(data)`

r= requests.get(url=url,headers=headers,params=params).json()
currencies=[]

for currency in r['data']:
    if currency['quote']['USD']['percent_change_24h']>1:
        currencies.append(
            currency['symbol']
        )

pprint(max(currencies))
0
Non_specificato 14 Янв 2021 в 11:11

2 ответа

Лучший ответ
from heapq import nlargest

print(nlargest(n, currencies))
0
Harney 14 Янв 2021 в 08:28

Поскольку вы сохранили значение валют в списке. Вы можете сначала расположить его в порядке убывания: sorted = currencies.sort(reverse=True) Затем ниже будет указано максимальное значение N из вашего списка. print(sorted[-N:])

0
Lakpa Tamang 14 Янв 2021 в 08:39
65715412