2

我是 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']

在第二个示例中,为什么即使我将索引 10 分配给 insert 方法,它仍会在列表中插入“f”元素?

4

2 回答 2

4

list.insert函数将在指定索引之前插入。由于list在您的示例中无论如何都没有那么长,因此它会持续到最后。list.append如果你想把东西放在最后,为什么不直接使用。

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

输出是

['a', 'b']
于 2013-08-03T13:25:46.790 回答
2

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

于 2013-08-03T13:42:29.027 回答