我有一个格式如下的 python 元组:
({'day': '03/06', 'stock': 10}, {'day': '04/06', 'stock': 12}, {'day': '05/06', 'stock': 5})
我想为每个密钥对获取一个逗号分隔的字符串:
days = '03/06, 04/06, 05/06'
stocks = '10, 12, 5'
我正在使用带有 range 和 len 的循环来提取值,但我认为这不是最佳的。
我尝试了 this 和 this 建议,但没有得到我想要的结果。 有没有更好的方法可以在没有循环的情况下获取这些值?
谢谢
答案 0 :(得分:2)
使用列表推导式:
inp = ({'day': '03/06', 'stock': 10}, {'day': '04/06', 'stock': 12}, {'day': '05/06', 'stock': 5})
days = ', '.join([x['day'] for x in inp])
stocks = ', '.join([str(x['stock']) for x in inp])
print(days) # 03/06, 04/06, 05/06
print(stocks) # 10, 12, 5
答案 1 :(得分:2)
您可以通过将序列映射到 operator.itemgetter
来从输入的 dicts 序列中提取所需键的值,然后使用 {{ 1}}。
假设您的输入序列存储在 zip
中:
data