代码:
#=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