我需要将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'}
如何处理?
答案 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']}