代碼:
#=A===================
>>> b = [[1]*3]*3
>>> b
[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
>>> b[0][0] = 0
>>> b
[[0, 1, 1], [0, 1, 1], [0, 1, 1]]
>>>
#=B===================
>>> b = [[1, 1, 1], [1, 1, 1], [1, 1, 1]]
>>> b[0][0] = 0
>>> b
[[0, 1, 1], [1, 1, 1], [1, 1, 1]]
我可以使用格式可能看起來像「B = [[1] * 3 * 3」,以獲得相同的行爲「b = [[1,1,1],[1,1,1],[1,1,1]]」減少鍵入?
as 「b = [[1] * 3] * 3」可能會返回一個「參考」的列表,對日常工作有用嗎?任何樣品?
謝謝! KC
列表我不想聽起來刺耳,但你的問題讓我很頭疼:D請你重新說明一下嗎? – Spyros 2011-03-29 01:32:08
這兩個表達式完成不同的事情。顯然,你不能像你的例子那樣使用'b = [[1] * 3] * 3'。既然你已經給出了一個很好的證明它不起作用,你的問題是什麼? – 2011-03-29 01:32:24
@ S.Lott,這個問題來自web上的閱讀帖子,當我閱讀代碼「b = [[1] * 3] * 3」時,我認爲這個表達式清晰直接,可以減少鍵入,但我是肯定它不能工作,是的,我知道它是一個「參考」列表,所以我認爲有可能對它進行細化並且與「b = [[1,1,1],[1,1, 1],[1,1,1]]「以減少輸入類型,並且由於」b = [[1] * 3] * 3「可能導致作爲」參考「列表,對日常工作有用嗎? – user478514 2011-03-29 05:16:12