列表首尾元素交换后首索引恒为9的问题求助
列表首尾元素交换问题解决
正确的首尾交换写法
直接用Python的解包交换语法,简单且不会出错:
my_list = [1, 3, 5, 7] my_list[0], my_list[-1] = my_list[-1], my_list[0]
执行后列表会变为[7, 3, 5, 1],完美实现首尾元素交换。
首位置出现9的可能原因
- 代码中不小心硬编码了数字9,比如错误写成:
my_list[0] = 9 my_list[-1] = my_list[0] - 交换时误用了错误的索引或变量,比如误把最后一个元素的索引写成9(误以为列表长度为10),或者临时变量被之前的操作赋值为9,导致覆盖首元素。
- 没有使用临时变量或解包交换,先覆盖了首元素的值,后续赋值时又引用了被修改后的首元素,而该值恰好是9。
建议检查你的代码,排查是否有上述错误,替换成正确的解包交换写法即可解决问题。
内容的提问来源于stack exchange,提问作者Gourmetfetisch
相关产品推荐
相关产品推荐

