Я использую следующий код для создания словаря, используя содержимое, которое читается построчно.
with open(file='ipc_reference.txt', mode='r', encoding='utf-8') as f:
lines = f.readlines()
for line in lines[:]:
line = line.replace('\n', '')
print(line)
line_dic = dict(line)
содержимое в ipc_reference.txt выглядит следующим образом:
например,
农业 = ['A01C1','C12N15/90']
林业 = ['A01C1','A01H1']
, но выдает ошибку, подобную этой:
Traceback (most recent call last):
File "E:/projects/ipc_industry/reference_and_count.py", line 10, in <module>
line_dic = dict(line)
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Поэтому я пытаюсь напрямую использовать содержимое переменной "строка", как это (поскольку содержимое в скобках слишком длинное, я просто отображаю два здесь. На самом деле, я запускаю длинную версию в Pycharm.):
D3 = dict(农业 = ['A01C1','C12N15/90'],林业 = ['A01C1','A01H1'])
print(D3)
Тогда это правильно!Результат выполнения:
{'农业': ['A01C1', 'C12N15/90'], '林业': ['A01C1', 'A01H1']}
Так почему же ValueError: элемент последовательности обновления словаря # 0 имеет длину 1;2 обязательно происходит?Как решить проблему?
Система: Windows 10
Версия: Python 3.6
Редактор: Pycharm