Python列表赋值问题求助:为何代码执行结果为[3,1,1]
代码运行原理拆解
先看你给出的代码:
list = [3, 1, -1] list[-1] = list[-2] print(list)
下面一步步拆解运行逻辑:
- 第一行代码定义了一个列表,里面的元素依次是
3(索引为0)、1(索引为1)、-1(索引为2)。 - Python里列表支持负索引:
-1代表列表的最后一个元素,-2代表倒数第二个元素。所以list[-2]取到的是倒数第二个元素的值1。 - 第二行代码
list[-1] = list[-2],意思是把列表最后一个位置的元素,替换成倒数第二个元素的值。原来最后一个元素是-1,现在被替换成1。 - 最后打印列表,结果自然就是
[3, 1, 1]。
内容的提问来源于stack exchange,提问作者Anna
相关产品推荐
相关产品推荐

