我有这个结果:
{'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")
这将产生orderId0
,orderId1
...