IndexError: 列表索引超出范围(在Python中)——如何获取列表的最后一个元素?
我想用range函数遍历一个数字列表,以便把一个空列表填满,其中原列表中的偶数被翻倍。
不管我怎么尝试,似乎都抓不到列表中的最后一个数字。这是我的原始代码:
my_list = [1, 2, 3, 4]
encoded_list = []
odd = 0
even = 1
for position in range(0, len(my_list) - 1):
if my_list[position] == my_list[odd]:
number = my_list[odd]
encoded_list = encoded_list + [number]
odd = odd + 2
elif my_list[position] == my_list[even]:
number = my_list[even] + 2
encoded_list = encoded_list + [number]
even = even + 2
print(encoded_list)
输出:
[1, 4, 3]
到目前为止,我已经尝试将 range(0, len(my_list) - 1)) 替换为 range(len(my_list)) 和 range(0, 3),但两者都返回消息 IndexError: list index out of range。 有没有办法使用 range() 函数来修复这个问题?
解决方案
你可以试试使用 my_list[-1]
它被称为列表切片,其中 -1表示数组的最后一个元素,-2表示倒数第二个。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。