У меня есть пример текста из 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: индексный список из диапазона. Я не понимаю, как я получаю эту ошибку, особенно когда я печатаю название страны, это абсолютно нормально, ошибка возникает только с населением. Python должен получать одинаковое количество строк для обеих переменных, но, похоже, популяция пытается получить доступ к большему количеству строк, чего я не понимаю, потому что это не делает этого для countryname. Любые идеи о том, почему это происходит.
У вас, вероятно, есть пустая строка или так, чтобы сплит не производил второй элемент. попробуйте распечатать каждую строку (или просмотреть ее с помощью отладчика), а затем исправить свой код для размещения в строке нарушения. вы можете проверить, находится ли ':' в строке до разделения и если не пропустить эту строку. что-то вроде этого – Eran
Невозможно воспроизвести. – Idos