Python:如何将文本文件读入字典(重复,混合 upper/lower 键)

Python: how to read in text file into dictionary (repeating, mixed upper/lower keys)

我有一个如下所示的文件:

wOrd1;codeA
WORD2;codeB
woRD1;codeC
word3;codeD
...

从该文件创建像这样的字典的"pythonic"方法是什么:

{'word1':['codeA','codeC'],'word2':['codeB'],'word3':['codeD'],...}

当然,如果我有唯一的键,这会很好用:

myDict = dict(line.lower().strip().split(';', 1) for line in open("myInputFile",'r'))

修改这个声明还是写一个全新的?谢谢

您的代码是错误的,因为您从未创建相关值的列表,并且由于您传递了具有重复键的对,它只会接受第一对。

您可以使用 dict.setdefault 方法来创建合适的字典:

d={}

with open('file_name') as f:
   for line in f:
       w,code=line.split(';')
       d.setdefault(w,[]).append(code)