В словарях обычно используется метод .update()
для добавления новых пар ключ-значение.Это будет выглядеть примерно так:
for num in range(len(flist)):
fdict.update({flist[num][0] : flist[num][1]})
Полный пример без чтения файла будет выглядеть так:
in_words = ["[/lang:F </lang:foreign>",
"[lipmack] [lipsmack]",
"[Fang:foreign] <lang:foreign>"]
flist = []
for word in in_words:
flist.append(word.split())
fdict = dict()
for num in range(len(flist)):
fdict.update({flist[num][0]: flist[num][1]})
print(fdict)
Выход:
{'[lipmack]': '[lipsmack]', '[Fang:foreign]': '<lang:foreign>', '[/lang:F': '</lang:foreign>'}
Хотя ваши выходные данные могут отличаться, поскольку словари не поддерживают порядок.
Как указывает @Alex, IndexError
, скорее всего, связано с тем, что ваши данные имеют неправильно отформатированные данные (то есть строку столько 1 или 0 элементов на нем).Я подозреваю, что наиболее вероятной причиной этого будет \n
в конце вашего файла, из-за которого последние строки будут пустыми.