gpt4 book ai didi

Python - 索引超出范围错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:19:10 25 4
gpt4 key购买 nike

我有来自 Python 的示例文本,我正在处理。

  Afghanistan:32738376
Akrotiri:15700
Albania:3619778
Algeria:33769669
American Samoa:57496
Andorra:72413
Angola:12531357
Anguilla:14108
Antigua and Barbuda:69842
Argentina:40677348
Armenia:2968586
Aruba:101541
Australia:20600856
Austria:8205533
Azerbaijan:8177717

我有这段代码可以使用国家名称和人口制作字典。

 dct = {}
for line in infile:
line = line.strip()
words = line.split(":")
countryname = words[0]

population = int(words[1])
dct[countryname] = population

当我打印 population 时,它会打印所有值,但随后我得到一个 population = int(words[1]) - IndexError: list index out of range。我不明白我是怎么得到这个错误的,尤其是当我打印国家名称时,这绝对没问题,这个错误只发生在人口中。 Python 必须为两个变量访问相同数量的行,但似乎随着 population 它试图访问更多行,我不明白,因为它不会为 countryname 执行此操作。关于为什么会发生这种情况的任何想法。

最佳答案

您认为您的文件是完美的,但这是错误的。

try:
countryname = words[0]
population = int(words[1])
dct[countryname] = population
except IndexError:
print("Impossible convert line: %s " % line)

在这种情况下,我更喜欢使用日志而不是打印语句,但为了示例,我认为它没问题。 如果需要,您还应该打印行号。

无论如何,try/except 的目的是避免在文件不符合您的想法时中断程序。

关于Python - 索引超出范围错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35240267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com