如何将文本文件中的单词放入python中的字典中

时间:2017-10-12 03:14:13

标签: python dictionary

我需要将txt文件中的所有单词放入字典中:

例如,我有这样的f.txt:

a tom
a sam
b stern 
c stern 
a king

我希望得到:

{'a': 'tom', 'sam', 'king', 'b':'stern', 'c': 'stern'}    

这是我的代码

new_dict = {}
myFile = open('f.txt', 'r')
for line in myFile:
    line2=line.split()
    group=line2[0]
    name=line2[1]
    new_dict[group]= name
new_dict

此代码存在问题。输出不能很好地读取这个文件,我只获得部分键和值,而不是全部。

例如:

我明白了:

{'a': 'tom', 'b':'stern'} 

如何处理?

1 个答案:

答案 0 :(得分:4)

您不能将多个值与一个键相关联。你应该使用元组或列表。 使用当前代码,最终会覆盖您添加到字典中的最后一个列表项。相反,尝试

for line in myFile:
    line2 = line.split()
    group = line2[0]
    name = line2[1]
    if group in new_dict: 
        new_dict[group].append(name)
    else: # Create new list if it doesn't exist
        new_dict[group] = [name]
print new_dict

那会给你输出

{'a': ['tom', 'sam', 'king'], 'b':['stern'], 'c': ['stern']}