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

问题描述 投票:1回答:3

这是我的列表示例(数据)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”]

python list jupyter-notebook append for-in-loop
3个回答
1
投票

您可能只是想以最纯粹的方式尝试使用for in循环。

例如,您可以做

arr = [1, 2, 3, 4]

for x in arr:
    print(x)

然后应该打印出来

1
2
3
4

因此,在您的情况下,只需使用for i in a_list


0
投票

只是为您的问题提供更多背景信息:

数字1不起作用,因为您的列表中有一个元素一个','。仔细检查您的数据

数字2不起作用,因为您尝试对整数进行迭代,这没有任何意义。您需要使其成为一个范围,即range(len(a_list))

如果您dont在乎索引,请这样做:

for address in a_list:
    # do something with address

更简单,更简洁,更直观。永远记住KISS:保持简单愚蠢。通常,最简单的解决方案是最好的。

由于您没有向我们提供数据,因此您必须自己解决#1问题。


0
投票

这应该起作用:

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)
© www.soinside.com 2019 - 2024. All rights reserved.