import re
address1 = []
address2 = []
city = []
state = []
zipCode = []
modifiedShipping_address1 = (
['#### Example Rd. SE', 'City, OH\xa0#####', 'United States', ''],
['### Street Ct', 'Apt B', 'City, SC\xa0#####', 'United States', ''])
for i in modifiedShipping_address1:
address1.append(i[0])
if len(i) == 4:
address2.append('')
cityIndex = str(i[1]).find(',')
city.append(i[1][:cityIndex])
state_re = re.compile(', (.*?)\\xa0')
state_pat = re.findall(state_re, str(i[1]).strip())
for i in state_pat:
state.append(i)
zip_re = re.compile('\\xa0(.*?)')
zip_pat = re.findall(zip_re, str(i[1]).strip())
for i in zip_pat:
zipCode.append(i)
else:
address2.append(i[1])
cityIndex = str(i[2]).find(',')
city.append(i[2][:cityIndex])
state_re = re.compile(', (.*?)\\xa0')
state_pat = re.findall(state_re, str(i[2]).strip())
for i in state_pat:
state.append(i)
zip_re = re.compile('\\xa0(.*?)')
# This line throws the exception:
zip_pat = re.findall(zip_re, str(i[2]).strip())
for i in zip_pat:
zipCode.append(i)
state = state[:]
zipCode = zipCode[:]
print state
print zipCode
При запуске кода производит этот вывод:питона 2,7 итерация ошибка индекс
['OH']
[]
Traceback (most recent call last):
File "iterating.py", line 37, in <module>
zip_pat = re.findall(zip_re, str(i[2]).strip())
IndexError: string index out of range
Как идти о Fixin это? Спасибо. Я не понимаю, откуда приходит indexError.
Недействительный код python, пожалуйста, исправьте отступ – mykhal
THus исправлено – phales15
Просьба привести полный пример, демонстрирующий вашу проблему. Данный код имеет множество проблем, которые препятствуют воспроизведению вашей проблемы: отступ по-прежнему является незаконным Python; отсутствуют строки, начинающиеся или закрывающие кавычки; последовательность «\ xa #» является недопустимой строкой; address1, address2, city, state и zipCode не объявлены. Кроме того, неясно, какой текст должен быть результатом вашей программы и действительно ли это полный немодифицированный вывод. – Weeble