我是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插入方法?
答案 0 :(得分:4)
list.insert
函数将在指定的索引之前插入。由于list
在你的例子中不是那么长,所以它最后会发生。如果你想把东西放在最后,为什么不使用list.append
。
x = ['a']
x.append('b')
print x
输出
['a', 'b']
答案 1 :(得分:2)
这里的概念是“在具有此索引的元素之前插入”。为了能够在最后插入,您必须允许无效的off-the-end索引。由于没有明确定义的“端到端迭代器”或Python中的任何东西,因此仅允许所有索引比允许一个无效索引更有意义,而不允许其他索引。