首页 > 解决方案 > 使用索引 -1 可以为 temp = a[index].split(" ") 拆分空字符串?

问题描述

下面有一些奇怪的东西。如果我要将 y.append(temp[-1]) 更改为 y.append(temp[1])。我会收到一条错误消息

y.append(temp[1]) IndexError: 列表索引超出范围

因为我正在索引变量 a,所以每次在循环中我都应该得到以下临时值。

['350', '2']

['450','9']

['570', '12']

['', '']

这应该允许我使用 temp[0] 和 temp[1]。这是一个错误吗?

x = []
y = []

a = ['350 5', '450 9', '570 12', '']

for index in range(len(a)):
    print(index)
    temp = a[index].split(" ")
    x.append(temp[0])
    y.append(temp[-1])

print(x)
print(y)

标签: pythonfor-loopindexingappend

解决方案


列表的最后一项不包含空格,因此 split 函数返回的列表不仅仅是一个值(它是一个空字符串)。temp[1] 指向 temp 中不存在的项目。


推荐阅读