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

时间:2016-10-20 23:15:43

标签: python dictionary defaultdict

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

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)

我需要最后得到一个字典,其中键位于箭头的左侧,值来自右侧;如果右侧有多个字母,则它们会进入字典中的MULTIPLE值。

这是我目前的代码:

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

和我目前的结果:

{{1}}

这显然不是我想要的 - 我需要d和e在SEPARATE值空间中,但与一个键相关联,c。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

非常关闭。你应该做的是当你带着right方,在逗号上拆分 时。所以现在你应该有一个包含这些单独项目的列表:

['d', 'e']

然后,使用append

,而不是使用extend
for left, right in zip(lefts, rights):
    myDict[left].extend(right.split(','))