如何将字典结果分配给python3中的各个变量?



我有这个结果:

{'orderId': 1234567, 'price': '20.5', 'qty': '125', 'status': 'open'}
{'orderId': 7654321, 'price': '15.5', 'qty': '15', 'status': 'open'}
{'orderId': 9876543, 'price': '32.0', 'qty': '102', 'status': 'open'}

我想将每个orderID 分配给单个变量,以便我可以对每个变量执行一些操作。

以上结果是通过过滤代码获得的,如下所示:

orders = product.get_open_orders(product='sample')
keys = ['orderId', 'price', 'qty', 'status']
res = [{k: d[k] for k in keys} for d in orders]
for status in res:
if status['status'] == 'open':
print(status)

如果你想要一个枚举项的序列,正确的数据结构是一个list

orders = []
for status in res:
if status['status'] == 'open':
orders.append(status['orderId'])
print(orders)  # [1234567, 7654321, 9876543]
print(orders[0], orders[2])  # 1234567 9876543

或者,在更惯用的 Python 中:

orders = [status['orderId'] for status in res if status['status'] == 'open']
print(orders)  # [1234567, 7654321, 9876543]

只做status['orderId']

count = 1
for status in res:
if status['status'] == 'open':
print(status)
orderId = status['orderId']
eval("orderId"+str(count) + "=" + "orderId")

这将产生orderId0orderId1...

最新更新