如何使用;“职位”;在python列表中的insert()中

如何使用;“职位”;在python列表中的insert()中,python,Python,我正在尝试python中list()的基础知识,除了expert()之外,在insert()中,它还说它可以在给定位置插入元素 如果我的列表有3个元素,我试着在第7个位置插入,它会完全插入,我不明白它是如何工作的?中间是否有第4位和第5位?如果是,存储了什么?例如,一个_列表的长度是3,因为它有3个元素,那么位置又有什么关系呢 >>a_list = ['1', '2'] >>a_list.insert( 7, 'a') >>print (a_list) >

我正在尝试python中list()的基础知识,除了expert()之外,在insert()中,它还说它可以在给定位置插入元素

如果我的列表有3个元素,我试着在第7个位置插入,它会完全插入,我不明白它是如何工作的?中间是否有第4位和第5位?如果是,存储了什么?例如,一个_列表的长度是3,因为它有3个元素,那么位置又有什么关系呢

>>a_list = ['1', '2']
>>a_list.insert( 7, 'a')
>>print (a_list)
>>print (len(a_list))

提前谢谢

如果将insert与大于数组大小的索引一起使用,它将存储在数组的最后一个位置+1,而不是您提供的位置

在您的示例中,您使用a_列表。插入(7,'a')它会将元素'a'添加到位置a_列表[2]

但是,如果要预初始化一个由n个元素组成的数组,请执行以下操作

a_list = [None] * 8 

它将创建一个len==8的数组,所有值都存储为None

一种方法是尝试!如果您试图在位置3中插入,并且位置3中已经有一些元素,那么您的元素将位于索引3中,而另一个元素将移动到位置4,5,等等。如果您想在索引10中引入,但您的列表只有5个数字,那么您的新值将在列表的末尾引入,因此它将不在索引10中,因为列表是连续的可变数据类型,如果给定的索引无效,则将在下一个索引位置插入项。元素被插入到列表的下一个连续索引中。在索引无效的情况下,插入(7,'a')#项将插入len(a#list)+1索引打印(a#list)#['1','2','a']打印(len(a#list))#3您可以检查是否没有您认为的4和5索引。打印(a_列表[4])#列表索引超出范围打印(a_列表[5])#列表索引超出范围