binance_prices = {}
def get_binance_price():
Prices = "https://api.binance.com/api/v3/ticker/price"
r = requests.get(url=Prices)
data = r.json()
for coin in range(0,375):
binance_prices.update( { data[coin]["symbol"]: data[coin]["price"]} )
我正在尝试从Binance获取所有硬币价格,并且上面的代码可以正常工作,但是问题是,如果它们将添加新硬币,我将无法捕获。所以我考虑将for coin in range(0,375):
更改为
counter = 0
while True:
counter = counter + 1
binance_prices.update( { data[counter]["symbol"]: data[counter]["price"]} )
但是如何退出循环?
答案 0 :(得分:2)
您根本不会这样做。您需要遍历数据,而不是任意数字。
for coin in data:
binance_prices.update( { coin["symbol"]: coin["price"]} )
这是Python中的一个重要原则,您始终总是直接在集合上进行迭代,而不是使用range
和索引。