首页 > 解决方案 > 如何在字典中打印多个项目

问题描述

这个问题似乎是一个愚蠢的问题,因为它非常基本,但我真的很挣扎。我有一个来自 python-binance web socket 的不断更新的数据流,它是市场上当前货币的价格。我试图将使用该行时出现的符号和价格分开:

info = client.get_all_tickers()

它打印以下内容,这将是输出的一部分:

[{'symbol': 'ETHBTC', 'price': '0.06327900'}, {'symbol': 'LTCBTC', 'price': '0.00406800'}, ...]

我的目标是隔离符号和价格,并将它们彼此相邻打印,而不是使用短语“符号”和“价格”,这样我就可以完成价格的数学方程式,所以我也可以输出这两个值一种美化方式。

到目前为止,我已经尝试过:

symbolGetter = [ swap['symbol'] for swap in info ]

获取我的符号并:

priceGetter = [ swap['price'] for swap in info ]

这只会将它们分开,但尝试使用我认为可行的这些方法将它们彼此相邻打印:

symbolAndPriceGetter = [ swap['symbol', 'price'] for swap in info ]
print(symbolAndPriceGetter)

这引发了我的错误:

KeyError: ('symbol', 'price')

尝试另一种方式:

symbolGetter = [ swap['symbol', 'price'] for swap in info ]
priceGetter = [ swap['price'] for swap in info ]
print(symbolGetter, priceGetter)

将打印在一个列表中的符号返回给我,然后将价格打印在另一个列表中。

我怎么能去退货(符号,价格)(符号,价格)......

感谢您的任何帮助

标签: pythonlistdictionary

解决方案


尝试这个:

for a in info:
    print(list(a.values()))

你会得到:

['ETHBTC', '0.06327900']
['LTCBTC', '0.00406800']

另一种解决方案是:

for a in info:
    print(*a.values())

你会得到:

ETHBTC 0.06327900
LTCBTC 0.00406800

推荐阅读