Python:如何将一个字符串拆分成字典中的多个值空间

Python: How to split a string into multiple value spaces in a dictionary

我开始使用这种格式的文件:

a ; b
b ; c
c ; d,e

我需要得到一个字典,其中键来自箭头的左侧,值来自箭头的右侧;并且如果右侧有多个字母,它们将进入字典中的多个值。

这是我当前的代码:

cleanup = [part for part in [entry.replace('\n','') for entry in myFile]]
lefts = [part[0] for part in [entry.split(' ; ') for entry in cleanup]]
rights = [part[1] for part in [entry.split(' ; ') for entry in cleanup]]



myDict = defaultdict(list) 

for left, right in zip(lefts, rights):
    myDict[left].append(right)

和我目前的结果:

myDict = {'a': ['b'], 'b': ['c'], 'c': ['d,e']}

这显然不是我想要的——我需要 d 和 e 位于单独的值空间中,但与一个键 c 相关联。

提前致谢。

你们非常。你应该做的是,当你站在 right 一边时,用逗号分隔 that。所以现在你应该有一个包含这些单独项目的列表:

['d', 'e']

然后,不使用 append,而是使用 extend:

for left, right in zip(lefts, rights):
    myDict[left].extend(right.split(','))