python中insert索引为-1插入值为什么不是最后一个

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
print(bicycles[0].title())
print(bicycles[-1])


bicycles[0] = "自行车第一个元素";
print(bicycles)
bicycles[-1] = "自行车最后一个元素"
print(bicycles)
bicycles.append("飞机")
print(bicycles)
bicycles.insert(0,"替换第一个元素")
print(bicycles)
bicycles.insert(-1,"替换最后一个元素")

print(bicycles)

newBicycles=bicycles;
print(newBicycles)
newBicycles.insert(0,"我是0")
newBicycles.insert(-1,"我是-1")

print(newBicycles)

输出:

['trek', 'cannondale', 'redline', 'specialized']
Trek
specialized
['自行车第一个元素', 'cannondale', 'redline', 'specialized']
['自行车第一个元素', 'cannondale', 'redline', '自行车最后一个元素']
['自行车第一个元素', 'cannondale', 'redline', '自行车最后一个元素', '飞机']
['替换第一个元素', '自行车第一个元素', 'cannondale', 'redline', '自行车最后一个元素', '飞机']
['替换第一个元素', '自行车第一个元素', 'cannondale', 'redline', '自行车最后一个元素', '替换最后一个元素', '飞机']
['替换第一个元素', '自行车第一个元素', 'cannondale', 'redline', '自行车最后一个元素', '替换最后一个元素', '飞机']
['我是0', '替换第一个元素', '自行车第一个元素', 'cannondale', 'redline', '自行车最后一个元素', '替换最后一个元素', '我是-1', '飞机']

[Finished in 0.0s]


我们发现无论怎么样insert  -1 之后不是最后一个元素,而列表引用-1的时候确实最后一个元素,其实insert函数是在对应目标之前插入。
因此你使用-1时,表示在最后一个元素之前插入。
如果想将元素添加到末尾,可以使用append



你可能感兴趣的:(Python)