我有我從事Python工作的示例文本。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
當我打印人口,它打印的所有值,但是然後我得到一個人口= INT(字[1]) - IndexError:列表索引超出範圍。我不明白我是如何得到這個錯誤,特別是當我打印countryname時,它是絕對好的,錯誤只發生在人口中。 Python必須爲這兩個變量訪問相同數量的行,但它似乎與人口一樣嘗試訪問更多行,這是我不明白的,因爲它不會爲countryname這樣做。任何想法,爲什麼發生這種情況。
您可能有一個空行或多個分隔符不會生成第二個項目。嘗試打印每行(或使用調試器查看),然後修復代碼以適應違規行。您可以檢查分割前是否存在':',如果不跳過該行。類似的東西 – Eran
無法重現。 – Idos