繁体   English   中英

Python:列表索引超出范围/Append 列表

[英]Python: List Index Out of Range / Append 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”,如图所示......似乎没有任何效果。 我不知道我怎么能 append 我的空列表 - 请帮助!

目标:抓取'a_list'并在for循环中拆分每个字符串,抓取城市值(索引1)和append它到一个空列表'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 号不起作用,因为您尝试在 integer 上进行迭代,这没有意义。 您需要将其设为范围,即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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM