这是我的列表示例(数据):Address list这是列表的片段:
['PO Box 4653, Stockton, California, 95204',
'157 Adams St., Stockton, California, 95204', ...
这里是我的问题:List index out of range (1)'int' object is not iterable (2)
请注意,诸如for i in a_list:
和for i in range(len(a_list):
之类的解决方案会生成'错误:列表索引超出范围'
说明:我的地址列表中没有空值,我尝试以各种方式在图像上添加空的“ city_list”,似乎没有任何作用。我不确定如何添加我的空列表-请帮助!
目标:抓取“ a_list”并将每个字符串分割为循环,获取城市值(索引1)并将其附加到空列表“ city_list”]
您可能只是想以最纯粹的方式尝试使用for in
循环。
例如,您可以做
arr = [1, 2, 3, 4]
for x in arr:
print(x)
然后应该打印出来
1
2
3
4
因此,在您的情况下,只需使用for i in a_list
只是为您的问题提供更多背景信息:
数字1不起作用,因为您的列表中有一个元素无一个','。仔细检查您的数据
数字2不起作用,因为您尝试对整数进行迭代,这没有任何意义。您需要使其成为一个范围,即range(len(a_list))
如果您dont在乎索引,请这样做:
for address in a_list:
# do something with address
更简单,更简洁,更直观。永远记住KISS:保持简单愚蠢。通常,最简单的解决方案是最好的。
由于您没有向我们提供数据,因此您必须自己解决#1问题。
这应该起作用:
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)