5

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

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

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

我怎样才能在 Python 中做到这一点?我只能在给定索引处插入元素,并让列表从索引 1 开始。

4

3 回答 3

5

当您将某些内容插入空列表时,它将始终从第一个位置开始。做这样的事情作为解决方法:

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

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

输出:

Jack
于 2018-12-27T06:40:45.300 回答
3

我认为如果可以的话,字典在这里会有所帮助。

喜欢

d={}

并且在需要的地方插入就像

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

现在

print( d[1] )

将打印

Jack

这样您就不必使用虚拟值。

于 2018-12-27T06:56:47.073 回答
1

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

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

于 2018-12-27T06:36:58.333 回答