当我定义一个列表并尝试像这样更改单个项目时:
list_of_lists = [['a', 'a', 'a'], ['a', 'a', 'a'], ['a', 'a', 'a']]
list_of_lists[1][1] = 'b'
for row in list_of_lists:
print row
它按预期工作。但是当我尝试使用列表理解来创建列表时:
row = ['a' for range in xrange(3)]
list_of_lists = [row for range in xrange(3)]
list_of_lists[1][1] = 'b'
for row in list_of_lists:
print row
它会导致列表中的一整列项目被更改。为什么是这样?如何通过列表理解达到预期的效果?