我想在我的列表中插入一个新项目。但是,因为我想保持原始列表的完整性,我将原始列表等同于另一个字符串字母。但是,当我对'" 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)
答案 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