如何在python列表中的特定索引处插入元素

时间:2018-12-27 06:33:38

标签: python

我正在创建一个列表,其项将通过索引号进行映射。我尝试使用list.insert()方法。但仍然总是将第一个元素添加到第0个索引,而我希望第一个元素位于第一个索引。例如:

somelist=[]
somelist.insert(1,"Jack")
somelist.insert(2,"Nick")
somelist.insert(3,"Daniel")

>>print(somelist[1])
Nick # not Jack

如何在Python中做到这一点?我只能在给定索引处插入元素,然后让列表从索引1开始。

3 个答案:

答案 0 :(得分:2)

将某物插入到空列表中时,它将始终从第一个位置开始。解决方法如下:

a.permute(1,0,2).contiguous().view(3, 8)
array([[ 0,  1,  2,  3, 12, 13, 14, 15],
       [ 4,  5,  6,  7, 16, 17, 18, 19],
       [ 8,  9, 10, 11, 20, 21, 22, 23]])

输出:

somelist=[]
somelist.insert(0,"dummy")
somelist.insert(1,"Jack")
somelist.insert(2,"Nick")
somelist.insert(3,"Daniel")

#print(somelist[1])
print(somelist[1])

答案 1 :(得分:1)

您的清单列表数组为空,这意味着如果索引0中没有项目,则无法将项目添加到索引1。

我的意思是,当您第一次尝试将“ Jack”插入索引1时,它会自动转到索引0,然后将“ Nick”插入索引2,然后转到索引1 ...最后打印索引1,即“尼克”

答案 2 :(得分:1)

如果这样做的话,我认为字典可以有所帮助。

喜欢

d={}

在所需位置插入和插入一样容易

d[1]="Jack"
d[2]="Nick"
d[3]="Daniel"

现在

print( d[1] )

将打印

Jack

这样,您就不必使用伪值。