在Python中插入最后一个元素

c0vxltue  于 2023-03-21  发布在  Python
关注(0)|答案(2)|浏览(138)
# Code 1
t1 = ['CS', 'IP', 'IT']
t1.insert(len(t1)-1, t1.pop())
print(t1)     # output is ['CS', 'IP', 'IT']
# Code 2
t1 = ['CS', 'IP', 'IT']
x = t1.pop()
t1.insert(len(t1)-1, x)
print(t1)    # output is ['CS', 'IT', 'IP']

上面的两个代码片段很相似,但是输出却不一样。有人能解释一下为什么吗?

8ljdwjyq

8ljdwjyq1#

在第一个场景中,len(t1)t1.pop()之前运行,所以当list仍然包含3个元素时。len(t1)-1的结果是2,'IT'位于list的第三位。
在第二个例子中,运行t1.pop()并从列表中弹出最后一个元素,因此当运行len(t1)时,它返回2。整个语句len(t1)-1返回1。

xuo3flqw

xuo3flqw2#

操作顺序。

1中的插入使用索引2,因为长度是在弹出最后一个元素之前检索的,即IT被插入到列表['CS', 'IP']的索引2处。

2中的插入在索引1处插入,因为列表的最后一个元素已经被弹出,即在列表['CS', 'IP']的索引1处插入IT

相关问题