input = [['0', '0', '0', '0', '0', '0', '3', '6', '8'], ['0', '0', '8', '5', '7', '0', '4', '0', '0'], ['6', '0', '0', '0', '0', '0', '7', '5', '0'], ['0', '0', '6', '4', '0', '7', '9', '0', '0'], ['0', '0', '4', '0', '8', '0', '0', '1', '6'], ['8', '0', '0', '0', '3', '0', '0', '0', '0'], ['0', '7', '9', '1', '0', '0', '0', '0', '0'], ['0', '0', '0', '0', '0', '0', '8', '4', '0'], ['0', '0', '0', '0', '0', '0', '0', '2', '7']]
inputlock=[[False]*9]*9
for i in range(0,9):
for j in range(0,9):
input[i][j] = int(input[i][j])
if input[i][j] == 0:
inputlock[i][j] = True
else:
inputlock[i][j] = False
运行时:inputlock = [[True,True,True,True,True,True,True,False,False] * 9]
我认为使用此代码,inputlock [0,6]必须为False。为什么如此,为什么要重复那9次 (这是我在那里的第一篇文章,我的英语也不太好)谢谢大家!
答案 0 :(得分:0)
在列表文字上使用repeat运算符时,您只是在对同一列表重复相同的引用,因此最终您只获得上一次迭代的结果。
所以代替:
0 issue "letsencrypt.org"
使用列表推导来初始化输入锁:
inputlock=[[False]*9]*9