Python:列表索引超出范围/追加列表

Python: List Index Out of Range / Append List

这是我的列表示例 (数据): 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): 等解决方案会生成 'Error: list index out of range'

说明: 我的地址列表没有空值,我尝试以各种方式附加空 '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))

如果您关心索引,只需:

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)