【发布时间】:2018-08-22 18:17:12
【问题描述】:
我有一个地址列表。有些地址有街道、城市、州、邮编,而其他地址只有城市、州和邮编。我做了一个for 循环将每个元素放入一个单独的变量中。问题是我没有得到正确的输出,所以我用isinstance(address[3], int] 放了一个if 语句,我这样做是为了检查第4 个元素是否在那里然后执行代码,但它只是不工作。我将在下面发布以显示我在做什么,并让我知道我在哪里搞砸了。第一个地址有街道,而第二个没有,所以我想用地址替换“-”。
address = [['123 street name, New Orleans, LA, 12345'],['New Orleans, LA, 12345']]
if isinstance(address[3], int):
street = address[0]
city = address[1]
city = city.lstrip()
state = address[2]
state = state.lstrip()
zip_code = address[3]
else:
street = "-"
city = address[0]
city = city.lstrip()
state = address[1]
state = state.lstrip()
zip_code = address[2]
【问题讨论】:
-
您的代码是如何工作的?
address没有第四个元素,所以你不能做address[3]。 -
你得到一个
IndexError,因为你的列表只有两个元素。
标签: python list isinstance