可能重复:
What does plus equals (+=) do in Python?l1是一个列表,l2 = l1;为什么“l2 = l2 + [item]”会影响l1而“l2 + = [item]”呢?
我注意到一个奇怪的问题:
l1 = ['1', '2', '3']
l2 = l1
item = l2.pop(0)
# the pop operation will effect l1
print l1
l2 = l2 + [item]
# why "l2 = l2 + [item]" does't effect l1 while "l2 += [item]" does.
print l2
print l1
输出是:
['2', '3']
['2', '3', '1']
['2', '3']
但是如果我改变l2 = l2 + [item]
为l2 += [item]
,输出将是:
['2', '3']
['2', '3', '1']
['2', '3', '1']
这是怎么回事?这只是它的方式。 – phant0m