【问题标题】:How to iteratively append key-value pairs to a dictionary in Python? [duplicate]如何迭代地将键值对附加到 Python 中的字典? [复制]
【发布时间】:2015-07-09 19:13:11
【问题描述】:

我有以下代码:

list1 = ['a', 'b', 'c']
dict1 = {}

for item in list1:
   dict1.update({"letter": item})

print(dict1)

我想遍历列表并将每个元素添加到字典中,每个元素具有相同的键。所以在这种情况下,所需的输出应该是:

{'letter': 'a', 'letter': 'b', 'letter': 'c'}

但我得到的输出是:

{'letter': 'c'}

只有最后一个元素被添加到字典中。如何获得所需的输出?

提前致谢。

【问题讨论】:

  • 字典不能有重复键
  • 你确定不想要{'a':'letter','b':'letter','c':'letter'} 吗?因为这是可能的......
  • 如果您希望每个键有多个项目,请为每个键提供值列表而不是原子值。
  • 唯一字典列表怎么样,像这样:[{"letter": "a"}, {"letter": "b"}, {"letter": "c"}] @vignesh 卡莱
  • 你当然可以这样做,但你不应该这样做。

标签: python dictionary


【解决方案1】:
sa=[{"letter":a} for in list1]
sa
[{"letter":a},{"letter":b},{"letter":c}]

不过没必要这样做

正确的方法是将列表添加到键 letter

dict1={"letter":[]}
dict1["letter"].extend([a for a in list1])
dict
{"letter":["a","b","c"]}

【讨论】:

  • 这几乎可以肯定解决Problem Y。
  • 显示不必要操作的输出有什么好处?
  • 我一点也不明白这是一个答案,但看起来你已经帮助某人解决了他的Problem Y,所以随便吧。
  • 感谢您的帮助。实验永远不会出错。 @Vignesh Kalai
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 2020-04-09
  • 2017-03-13
  • 1970-01-01
相关资源
最近更新 更多