2014-05-01 2 views
0

Я читаю строки из файла и добавляю каждую строку в список. Это нормально, однако у меня возникают проблемы с ['A', 'B', 'C', 'D', ... 'last element'], ['A', 'B', 'C' , 'D', ... 'last element'], .... - {'A': ['B', 'C', 'D', ... 'last element'], ... .} я могу отделить ключ я хочу в каждой строке, но когда я пытаюсь преобразовать его в словарь он идет { «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, либо я просто не мог следовать. Любая помощь приветствуется!

+0

Где вы определяете subList? –

+0

Не заметил двойной список ListList, исправил его чуть выше моего оператора if. – user3591798

+0

Не могли бы вы дать следующие пункты в словаре результатов? '{'A': ['B', 'C', 'D', ... 'last element'], ....}' – Alexei

ответ

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']} 
Смежные вопросы