所以我有一个文件,每行包含2个单词。看起来像这样。你知道吗
[/lang:F </lang:foreign>
[lipmack] [lipsmack]
[Fang:foreign] <lang:foreign>
第一个单词的格式不正确,第二个单词的格式正确。我想把它们放进字典里。下面是我的代码。你知道吗
textFile = open("hinditxt1.txt", "r+")
textFile = textFile.readlines()
flist = []
for word in textFile:
flist.append(word.split())
fdict = dict()
for num in range(len(flist)):
fdict[flist[num][0]] = flist[num][1]
我先把它们分开,然后把它们放进字典里。但由于某种原因,当我试图将它们放入字典时,会得到“IndexError:list index out of range”。我能做些什么来修复它?谢谢!你知道吗
对于字典,通常使用
.update()
方法添加新的键值对。它看起来更像:不读取文件的完整示例如下所示:
屈服:
尽管您的输出可能会有所不同,因为字典不保持顺序。你知道吗
正如@Alex所指出的,
IndexError
很可能是由于您的数据格式不正确(例如,一行上只有1或0个项目)。我怀疑最可能的原因是文件末尾的\n
导致最后一行为空。你知道吗在python中,迭代列表中的项比迭代一系列新的索引要好。我猜
IndexError
来自输入文件中的一行,该行为空或不包含任何空格。你知道吗上面的代码通过简单地迭代列表本身的项来避免使用索引访问列表的元素。我们可以通过使用dict理解来进一步简化这一点:
相关问题 更多 >
编程相关推荐