我正在尝试将多个值附加到python中的字典中

时间:2019-02-05 16:22:57

标签: python python-3.x python-2.7 jupyter-notebook

我正在尝试读取文件并将其转换为字典。读取后,我必须将单词和单词的第一个字符作为键,并将单词本身作为值。如果另一个具有相同字符的单词出现,则应将值附加到现有键本身。

import io 
file1 = open("text.txt")
line = file1.read()
words = line.split()
Dict={}
for w in words:
  if w[0] in Dict.keys():
      key1=w[0]
      wor=str(w)
      Dict.setdefault(key1,[])
      Dict[key1].append(wor)
  else:
    Dict[w[0]] = w
print Dict

1 个答案:

答案 0 :(得分:0)

只需简化您的代码即可。如果使用set_default

,则没有别的条件
words = 'hello how are you'.split()
dictionary = {}
for word in words:
    key = word[0]
    dictionary.setdefault(key, []).append(word)
print dictionary

要摆脱set_default,请使用default_dict

from collections import defaultdict
words = 'hello how are you'.split()
dictionary = defaultdict(list)
for word in words:
    key = word[0]
    dictionary[key].append(word)
print dictionary.items()