我的函数只返回一个键值对列表。如何将其转换为实际键值或对象类型,以便从列表中获取每个属性。例如,我希望能够将时间或价格或任何其他财产而不是整个清单作为一个项目。
{'time': 1512858529643, 'price': '0.00524096', 'origQty': '530.00000000'
我知道它看起来不像是一个列表,但它实际上是!我正在调用的函数将其作为列表返回。我只是将它存储到一个变量而不是其他。
open_order=client.get_open_orders(symbol="BNBETH",recvWindow=1234567)
如果你还有疑问。当我尝试打印像print(open_order['time'])
我收到以下错误。
Traceback (most recent call last):
File "C:\Python27\python-binance-master\main.py", line 63, in <module>
print(open_order['time'])
TypeError: list indices must be integers, not str
此外,如果我显示类型,则显示为列表。
print(type(open_order))
所以,我能够提出一个解决方案,有点......通过将列表转换为字符串并在&#34;,&#34;字符。现在,通过选择一个print(split_order_items[5])
我可以实际打印的项目列表必须有更好的解决方案。
open_order=client.get_open_orders(symbol="BNBETH",recvWindow=1234567)
y=''.join(str(e)for e in open_order)
split_order_items =([x.strip() for x in y.split(',')])
print(split_order_items[5])
我能够使用上面的代码创建多个列表项。我似乎无法将其转换为字典对象!
谢谢!
答案 0 :(得分:1)
您发布的内容是dict
,而不是列表。你可以这样做:
data = {'time': 1512858529643, 'price': '0.00524096', 'orderId': 7848174, 'origQty': '530.00000000'}
print(data['time']) # this gets just the time and prints it
print(data['price']) # this gets just the price and prints it
我强烈建议您阅读Python dict
:https://docs.python.org/3/tutorial/datastructures.html#dictionaries