Я пытаюсь передать словарь за пределами цикла, имея все результаты внутри него. Является ли это возможным?Можно ли передать полный dict вне цикла в другой dict
Мой код:
file_name = input('Enter a file name: ')
f = open(file_name, 'r')
data = f.readlines()
final_data = []
for line in data:
values = line.split()
read_line = dict({
'vertex': values[0],
'visited': values[1],
'letter': values[2],
'neighbors': values[3]
})
final_data.append(read_line)
print(final_data['vertex'])
Ошибка TypeError: Список индексы должны быть целыми, не ул
Причина он показывает ошибку, что она превратила Dict в список. Теперь, когда я использую .copy() для копирования dict в final_data, он печатает только первую строку в файле. Я как-то хочу скопировать весь dict, поскольку мне нужно получить доступ к другим значениям key => позже в коде.
Мой входной файл
1 0 A 2,3 // 1 = vertex || 0 = visited || A = letter || 2,3 = neighbors
2 0 B 1,4,5
3 0 C 1,2
4 0 D 2,5
5 0 E 2,4
Я знаю, что списки принимают только целые числа, но мне нужно как-то Сыроватского.
_ "Причина он показывает ошибку, что она превратила Dict перечислить Это не звучит для меня. Когда вы делаете 'final_data = []', это означает, что 'final_data' - это список для начала. Преобразование не происходит. – Kevin
Почему вы не используете «буквы» или «индексы» (первый столбец) вершин в качестве соответствующих ключей словаря и создаете только один dict вместо списка dicts? – Hyperboreus
@Kevin: Я пытался копировать orignal dict, используя.скопировать и удалить final_data = [] сверху, но он скопировал только первую строку. Я хочу, чтобы весь dict был скопирован и напечатан вне цикла. Мне нужны предложения для этого. –