我想知道是否有人可以向我解释以下代码如何导致以下输出。
CODE:
board = []
for o in range(5):
board.append(["O"]*5)
print board
输出:
[['O','O','O','O','O'],['O','O','O','O','O'],[' O','O','O','O','O'],['O','O','O','O','O'],['O','O' ,'O','O','O']]
对我来说,我读“board.append([”O“] * 5)”as: 附加到列表板,列出包含字母“O”的列表,然后执行5次,因此最终不正确:
[['O'],['O'],['O'],['O'],['O']]
有人可以解释一下这里是否有一些优先事项或为什么不是这种情况,因为我似乎无法理解它?
此致 briarjr
答案 0 :(得分:0)
创建数组时:
["O"]*5 => ["O","O","O","O","O"]
因为你的.append([“O”] * 5)由于你的循环5次,你实际上是附加[“O”,“O”,“O”,“O”,“O” ] 5次。