python:list.insert:在给定位置

时间:2016-03-01 21:05:54

标签: python list insert

我想在我的列表中插入一个新项目。但是,因为我想保持原始列表的完整性,我将原始列表等同于另一个字符串字母。但是,当我对'" s" list,这个新元素,即使没有执行这样的操作,它也会插入到所有列表中!

为什么呢?我遗漏了一些东西:( Pycharm with Python 2.3)。

l_max=[1,2,3]
a=l_max
b=a
c=b
s=c
s.insert(0, 0)

1 个答案:

答案 0 :(得分:1)

您希望将其设置为副本: b = a

,而不是将列表分配给其他列表b = a[:]
l_max=[1,2,3]
a=l_max # a points to l_max
b=a     # b points to a
c=b     # so on
s=c     # so forth
s.insert(0, 0) # insert into the only list, which all variable point to 

你想要:

l_max=[1,2,3]
a=l_max[:] # create copy
b=a[:]
c=b[:]
s=c[:]
s.insert(0, 0) # insert only into s