python—最终目标是创建一个字典,其中重复的名称组合成一个键,其值是多个元素

62o28rlo  于 2021-09-08  发布在  Java
关注(0)|答案(1)|浏览(401)

我有一个经过for循环的列表,以便将每个元素分别作为字符串生成。接下来,我创建了一个变量来拆分这些字符串,以获得key=pairs(生成多个列表)。基本上,这些列表只有两个元素,[0]用作键,[1]用作值。如何将这些列表转换为字典,其中重复的键组合在一起,它们的[1]是它们的值?我是新手,所以请不要使用像def这样的高级代码。想想基本的。

  1. lst = ["help-please" , "desperate-fix", "help-today", "desperate-need"]
  2. for i in lst:
  3. a = i
  4. b = a.split("-")
  5. c = b[0] #keys
  6. d = b[1] #values
  7. e = {c:d} #how do I fix this to one key to many values? I believe this should be a loop to
  8. facilitate many key:value pairs

我的ulitmate目标:

  1. e = {"help": ["please", "today"], "desperate": ["fix", "need"]
w8ntj3qf

w8ntj3qf1#

  1. lst = ["help-please" , "desperate-fix", "help-today", "desperate-need"]
  2. ret_dict = {}
  3. for i in lst:
  4. a = i
  5. b = a.split("-")
  6. c = b[0] #keys
  7. d = b[1] #values
  8. if c in ret_dict.keys():
  9. ret_dict[c].append(d) # If key already exists then append to list
  10. else:
  11. ret_dict[c] = [d] # else make new list and add d as the first element
  12. print(ret_dict)

相关问题