将键值元组转换为逗号字符串

时间:2021-06-09 09:33:24

标签: python

我有一个格式如下的 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 的循环来提取值,但我认为这不是最佳的。

我尝试了 thisthis 建议,但没有得到我想要的结果。 有没有更好的方法可以在没有循环的情况下获取这些值?

谢谢

2 个答案:

答案 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
相关问题