将列表转换为字典麻烦

时间:2014-05-01 06:06:05

标签: python dictionary

我正在从文件中读取行并将每行附加到列表中。这很好,但是我遇到了麻烦 [' A' B',' C',' D',...'最后一个元素'] ,[' A'' B'' C'' D',...'最后一个元素' ],.... 到{' A':' B'' C',' D',...'最后一个元素&#39 ;],....} 我可以在每一行中分离出我想要的键,但是当我尝试将它转换为字典时,它会去 {' A':['最后一个元素'],...}

ct = 0
myKey = eachList[0]

for el in eachList:
    subList = []
    if ct != 0:
        subList.append(eachList[ct])
        myDict[myKey] = subList
    ct+=1

我搜索了论坛,但主题是使用ittertools / izip,或者我无法跟进。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

以下是一段代码,您可以简单地将行读入字典:

final_dict = {}

with open('text.txt') as f:
    for line in f.readlines():
        raw = line.strip().split(',')
        final_dict[raw[0]] = raw[1:]

给出以下输入:

k1, v11, v12, v13
k2, v21, v22, v23
k3, v31, v32, v33

final_dict将是:

 {'k3': [' v31', ' v32', ' v33'], 'k2': [' v21', ' v22', ' v23'], 'k1': [' v11', ' v12', ' v13']}