python - 字典的值列表

标签 python

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

>>> 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/

相关文章:

超过 4096 字节的 Python stdin readline?

python - openpyxl 趋势线和 R 平方值

python - 使用递归交换字符串中的两个字母

python - 通过 Python 请求 POST URL 编码与基于行的文本数据

python - logits 和 labels must be same size error 使用 SoftmaxCrossEntropyWithLogits

python - 理解非齐次 numpy 数组

python - 如何将 Python 变量传递给 Bash?

PythonAnywhere 脚本调度程序不工作

python - 如何加载带有自定义损失的keras "history"对象?

python - Django 过滤外键字段