列表推导遇到的问题,第一段代码按照预期运行,第二段代码没有按照预期运行,原因是第二段代码中weird中是三个相同对象的引用
>>board=[['_']*3 for i in range(3)]
>>board
[['_', '_', '_'], ['_', '_', '_'], ['_', '_', '_']]
>>board[0][0]='X'
>>board
[['X', '_', '_'], ['_', '_', '_'], ['_', '_', '_']]
================================================
>>weird=[['_']*3]*3
>>weird
[['_', '_', '_'], ['_', '_', '_'], ['_', '_', '_']]
>>weird[0][1]='X'
>>weird
[['_', 'X', '_'], ['_', 'X', '_'], ['_', 'X', '_']]