我正在尝试根据我设置的键将值列表添加到字典列表中。我尝试了以下操作,但由于键名重复,我丢失了所有其他值。
>>> values = ['XS ', '1', 'S ', '10', 'M ', '1', 'L ', '10', 'XL ', '10']
>>> keys = ['size', 'stock'] * (len(values) / 2)
>>> result = dict(zip(keys, values))
>>> print result
{'stock': '10', 'size': 'XL '}
我想要实现的是如下的字典列表。我怎样才能做到这一点?
[{'stock': '10', 'size': 'XL '}, {'stock': '10', 'size': 'L'}, ......]
最佳答案
您可以使用如下列表理解:
>>> values = ['XS ', '1', 'S ', '10', 'M ', '1', 'L ', '10', 'XL ', '10']
>>> [{'size':i, 'stock':j} for i, j in zip(values[0::2], values[1::2])]
[{'stock': '1', 'size': 'XS '}, {'stock': '10', 'size': 'S '}, {'stock': '1', 'size': 'M '}, {'stock': '10', 'size': 'L '}, {'stock': '10', 'size': 'XL '}]
请注意,在这种情况下,您不必将 key 相乘。
关于python - 字典的值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513483/