List 将键值对的单个列表项转换为python中的字典

List 将键值对的单个列表项转换为python中的字典,list,key-value,List,Key Value,我有一个只返回一个键值对列表的函数。如何将其转换为实际的键值或对象类型,以便从列表中获取每个属性。例如,我希望能够得到的时间或价格或任何其他财产,而不是整个清单作为一个项目 {'time':15128585229643,'price':'0.00524096','origQty':'530.00000000' 我知道它看起来不像列表,但实际上是!我调用的函数将其作为列表返回。我只是将其存储到一个变量中,而不进行任何其他签名 open\u order=client.get\u open\u ord

我有一个只返回一个键值对列表的函数。如何将其转换为实际的键值或对象类型,以便从列表中获取每个属性。例如,我希望能够得到的时间或价格或任何其他财产,而不是整个清单作为一个项目

{'time':15128585229643,'price':'0.00524096','origQty':'530.00000000'

我知道它看起来不像列表,但实际上是!我调用的函数将其作为列表返回。我只是将其存储到一个变量中,而不进行任何其他签名

open\u order=client.get\u open\u orders(symbol=“BNBETH”,recvWindow=1234567)

如果您还有疑问。当我尝试打印这样的词典项目时
print(open_order['time'])

我得到以下错误

回溯(最近一次呼叫最后一次):
文件“C:\Python27\python二进制文件主文件\main.py”,第63行,在
打印(未结订单[时间])
TypeError:列表索引必须是整数,而不是str

如果我显示类型,它也会显示为列表

print(type(open_order))
所以,我想出了一个解决方案,通过将列表转换为字符串并在“,”字符处拆分。现在我有了一个项目列表,我可以通过选择一个
print(split\u order\u items[5])
来打印

open\u order=client.get\u open\u orders(symbol=“BNBETH”,recvWindow=1234567)
y=''.join(str(e)以开放顺序表示e)
拆分_顺序_项=([x.strip()表示x在y.split(','))
打印(拆分订单项目[5])

我能够使用上面的代码创建多个列表项。我似乎无法将其转换为dictionary对象


谢谢!

您发布的是一个
目录,而不是一个列表。您可以这样做:

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

你能展示一个你想看的使用代码的例子吗?你想把一个字典列表改成一个…的列表?或者你的意思是把你的列表转换成NamedTuple?尝试一下你共享的东西会给我打印(键入(a))35;
显示的“列表”绝对是一个
dict
我想如果你将它设置为变量python,我会认为它是dict。但是我调用的函数将它作为一个列表返回。(我没有编写这个函数,它是我正在使用的一个API)。就是这样!我以为它是一个列表,但当我尝试执行以下操作时
open\u order=client.get\u open\u orders(symbol=“BNBETH”,recvWindow=1234567)print(open_order['time'])
我得到了以下错误
回溯(最近一次调用):文件“C:\Python27\python binance master\main.py”,第63行,在print(open_order['time'])类型错误:列表索引必须是整数,而不是str你能尝试替换
print(open order['time'])吗
使用
打印(str(open_order))
并发布输出?这样我就可以更好地了解
open_order
实际上是什么
[{'orderId':7848174,'price':'0.00524096','timeinfonce':'GTC','symbol':'BNBETH']
这是一个
目录
对象列表
,恰好只包含一个
目录
对象。如果您保证它始终只有一个
目录
对象,您可以这样做:
打印(开单[0]['time'])
(访问
开单
的第一个元素)如果它可以有多个项目,您可以使用for循环对它们进行迭代,然后为列表中的每个元素打印
元素['time']