我不理解Python中的以下代码
l = []
l += [1],[2]
print l # this gives [[1],[2]]
然而,
l = []
l = l + [1],[2]
print l # this gives ([2], [3])
有谁可以解释上述行为的原因?我使用Python 2.7
感谢。
答案 0 :(得分:0)
写作时
l = l + [1],[2]
然后
l+[1]
首先在右侧评估,将评估简化为
l = [1],[2]
被解释为元组,并重新赋值名称“l”。在第一个表达式中,右侧列表的元组逐个附加,名称“l”仍然是列表。