0
我不明白,在Python以下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
謝謝。
我不明白,在Python以下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
謝謝。
當編寫
l = l + [1],[2]
然後
l+[1]
首先計算在右手側,簡化了評價
l = [1],[2]
這被解釋爲一個元組,和重新分配名稱「l」。在你的第一個表達式中,右側的列表元組被逐個追加,並且名稱「l」仍然是一個列表。
當我嘗試它給出:'([1],[2])' – mitoRibo