Skip to main content
 首页 » 编程设计

python之字典的值列表

2025年05月04日26freeliver54

我正在尝试根据我设置的键将值列表添加到字典列表中。我尝试了以下操作,但由于键名重复,我丢失了所有其他值。

>>> 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 相乘。