以下Python代码段如何工作?

时间:2016-11-18 22:01:25

标签: python-2.7

我不理解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

感谢。

1 个答案:

答案 0 :(得分:0)

写作时

l = l + [1],[2]

然后

l+[1]
首先在右侧评估

,将评估简化为

l = [1],[2]

被解释为元组,并重新赋值名称“l”。在第一个表达式中,右侧列表的元组逐个附加,名称“l”仍然是列表。