Python在列表上插入操作

时间:2013-08-03 13:24:22

标签: python list

我是Python的新手,我对列表中的插入操作有疑问。

示例1:

mylist = ['a','b','c','d','e']
mylist.insert(len(mylist),'f')
print(mylist)

输出:

['a', 'b', 'c', 'd', 'e', 'f']

示例2:

mylist = ['a','b','c','d','e']
mylist.insert(10,'f')
print(mylist)

输出:

['a', 'b', 'c', 'd', 'e', 'f']

在第二个例子中,为什么它仍然在列表中插入'f'元素,即使我给索引10插入方法?

2 个答案:

答案 0 :(得分:4)

list.insert函数将在指定的索引之前插入。由于list在你的例子中不是那么长,所以它最后会发生。如果你想把东西放在最后,为什么不使用list.append

x = ['a']
x.append('b')
print x

输出

['a', 'b']

答案 1 :(得分:2)

这里的概念是“在具有此索引的元素之前插入”。为了能够在最后插入,您必须允许无效的off-the-end索引。由于没有明确定义的“端到端迭代器”或Python中的任何东西,因此仅允许所有索引比允许一个无效索引更有意义,而不允许其他索引。