Python: индекс списка вне диапазона / добавить список - PullRequest
1 голос
/ 20 октября 2019

Вот мой пример списка (данные) : Список адресов Вот фрагмент списка:

['PO Box 4653, Stockton, California, 95204',
 '157 Adams St., Stockton, California, 95204', ...

Вот моя проблема : Индекс списка вне диапазона (1) Объект 'int' не повторяется (2)

Обратите внимание, что такие решения, как for i in a_list: и for i in range(len(a_list): генерирует 'Ошибка: индекс списка вне диапазона'

Объяснение : Мой список адресов не имеет нулевых значений, и я попытался добавить пустой 'city_list' различными способами, как видно на изображениях... кажется, ничего не работает. Я не уверен, как я могу добавить свой пустой список - пожалуйста, помогите!

Цель : захватить 'a_list' и разбить каждую строку в цикле, захватить значение города (индекс1) и добавить его в пустой список 'city_list'

Ответы [ 3 ]

1 голос
/ 20 октября 2019

Это должно работать:

a_list = ['PO Box 4653, Stockton, California, 95204','157 Adams St., Stockton, California']

city_list = []
for i in range(0,len(a_list)):
    city_name = a_list[i].split(",")[1].strip()
    city_list.append(city_name)

print(city_list)
1 голос
/ 20 октября 2019

Вы можете просто попытаться использовать цикл for in в чистом смысле.

Например, вы можете сделать

arr = [1, 2, 3, 4]

for x in arr:
    print(x)

Это должно затем распечатать

1
2
3
4

Так что в вашем случае просто используйте for i in a_list

0 голосов
/ 20 октября 2019

Просто чтобы дать больше контекста для вашей проблемы:

Номер 1 не работает, так как у вас есть элемент из вашего списка без a ','. Дважды проверьте ваши данные

Число 2 не работает, так как вы пытаетесь перебрать целое число, что не имеет смысла. Вам нужно сделать его диапазоном, то есть range(len(a_list))

Если вы не заботитесь об индексах, просто сделайте:

for address in a_list:
    # do something with address

Это проще, более кратко,и более интуитивно понятный. Всегда помни ПОЦЕЛУЙ: будь проще, глупый. Обычно самое простое решение - самое лучшее.

Поскольку вы не предоставили нам данные, вы должны решить вопрос № 1 самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...