我有一个9x9数独板。我要创建9个子方格列表。我将这些列表作为一行存储在另一个名为sub_square的列表中。在
代码:
sub_square = []
sub_list = []
for x in range(0,3):
for y in range(0,3):
sub_list.append(sudoku[x][y])
sub_square.append(sub_list)
sub_list = []
for x in range (0,3):
for y in range(3,6):
sub_list.append(sudoku[x][y])
sub_square.append(sub_list)
sub_list = []
for x in range (0,3):
for y in range(6,9):
sub_list.append(sudoku[x][y])
sub_square.append(sub_list)
sub_list = []
我对其他6个子方格也是这样。有没有其他更简单的方法。在
数独:
^{pr2}$所以第一个次方列表是:
[0, 9, 4, 0, 0, 7, 0, 0, 1]
是的,有一种更简单的方法:
其中}分别是每个子方格的高度和宽度。(出于您的目的,}都等于3。在
h
和{h
和{如果您不反对第三方库,请使用numpy:
输出
^{pr2}$如果你看一下你的三个代码块,除了上面引用的行之外,它们是完全相同的。这意味着您可以用另一个循环中的单个代码块替换它们,该循环用作y循环范围的参数。然后需要第四个循环,它用作x循环范围的参数。然后,您将得到与Joel的答案大致相同的结果,尽管他使用了迭代器,以便可以将其全部分解为一行代码。在
相关问题 更多 >
编程相关推荐