在Python2.7中,当我有两个列表并且只从第二个列表中删除一个元素时,为什么也要从第一个列表中删除该元素?你知道吗
x1 = list()
x2 = list()
x1 = ['foo1', 'bar1', 'foo2', 'bar2']
x2 = x1
x2.remove('foo1')
del x2[x2.index('foo2')]
print 'x1:\t', x1
print 'x2:\t', x2
结果将是:
x1: ['bar1', 'bar2']
x2: ['bar1', 'bar2']
有人知道为什么吗?你知道吗
哦,变量分配和声明一步到位。。。 因此,这将正常工作:
结果将是:
天气真好!你知道吗
因为这句话
x2 = x1
。您只是给x2
分配了与x1
相同的引用。你需要明确地复制。像这样:如果你觉得这句话很奇怪,你也可以这样说:
相关问题 更多 >
编程相关推荐