【发布时间】:2020-12-06 21:02:49
【问题描述】:
我正在开发一个函数,该函数是在 python 中创建带有子列表的列表副本。然后应该将副本附加到一个名为 new_puzzles 的空列表中。但是当我调用这个函数时,我得到了很大的回报。以下是我的原始列表、当前代码和输出,感谢您的帮助!
原始列表
[[5, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0 , 0, 3, 0, 0, 7, 0], [6, 0, 1, 0, 0, 0, 9, 8, 0], [0, 0, 0, 6, 0, 0, 0, 0 , 0], [0, 0, 9, 0, 0, 0, 7, 0, 1], [0, 0, 0, 0, 0, 8, 1, 9, 0], [0, 4, 0 , 5, 0, 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0]]
代码
def copy_puzzle(puzzle):
new_puzzles = []
new_puzzles = puzzle.copy()
for i in range(len(puzzle)):
new_puzzles.append(puzzle)
return new_puzzles
输出 [[5, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0, 0, 3, 0, 0, 7, 0], [6, 0, 1, 0, 0, 0, 9, 8, 0], [0, 0, 0, 6, 0, 0, 0, 0, 0] , [0, 0, 9, 0, 0, 0, 7, 0, 1], [0, 0, 0, 0, 0, 8, 1, 9, 0], [0, 4, 0, 5, 0, 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0], [[5, 0, 0, 0, 0, 0, 0, 0, 0 ], [0, 9, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0, 0, 3, 0, 0, 7, 0], [6, 0, 1, 0 , 0, 0, 9, 8, 0], [0, 0, 0, 6, 0, 0, 0, 0, 0], [0, 0, 9, 0, 0, 0, 7, 0, 1 ], [0, 0, 0, 0, 0, 8, 1, 9, 0], [0, 4, 0, 5, 0, 1, 0, 0, 8], [0, 7, 0, 3 , 0, 6, 0, 4, 0]], [[5, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 7, 0, 0, 8, 0 , 0], [0, 0, 0, 0, 3, 0, 0, 7, 0], [6, 0, 1, 0, 0, 0, 9, 8, 0], [0, 0, 0 , 6, 0, 0, 0, 0, 0], [0, 0, 9, 0, 0, 0, 7, 0, 1], [0, 0, 0, 0, 0, 8, 1, 9 , 0], [0, 4, 0, 5, 0, 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0]], [[5, 0 , 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0, 0, 3, 0, 0 , 7, 0], [6, 0, 1, 0, 0, 0, 9, 8, 0], [0, 0, 0, 6, 0, 0, 0, 0, 0], [0, 0 , 9, 0, 0, 0, 7, 0, 1], [0, 0, 0, 0, 0, 8, 1, 9, 0], [0, 4, 0 , 5, 0, 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0]], [[5, 0, 0, 0, 0, 0, 0 , 0, 0], [0, 9, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0, 0, 3, 0, 0, 7, 0], [6, 0 , 1, 0, 0, 0, 9, 8, 0], [0, 0, 0, 6, 0, 0, 0, 0, 0], [0, 0, 9, 0, 0, 0, 7 , 0, 1], [0, 0, 0, 0, 0, 8, 1, 9, 0], [0, 4, 0, 5, 0, 1, 0, 0, 8], [0, 7 , 0, 3, 0, 6, 0, 4, 0]], [[5, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 7, 0, 0 , 8, 0, 0], [0, 0, 0, 0, 3, 0, 0, 7, 0], [6, 0, 1, 0, 0, 0, 9, 8, 0], [0 , 0, 0, 6, 0, 0, 0, 0, 0], [0, 0, 9, 0, 0, 0, 7, 0, 1], [0, 0, 0, 0, 0, 8 , 1, 9, 0], [0, 4, 0, 5, 0, 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0]], [ [5, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0, 0, 3 , 0, 0, 7, 0], [6, 0, 1, 0, 0, 0, 9, 8, 0], [0, 0, 0, 6, 0, 0, 0, 0, 0], [0, 0, 9, 0, 0, 0, 7, 0, 1], [0, 0, 0, 0, 0, 8, 1, 9, 0], [0, 4, 0, 5, 0 , 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0]], [[5, 0, 0, 0, 0, 0, 0, 0, 0 ], [0, 9, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0, 0, 3, 0, 0, 7, 0], [6, 0, 1, 0 , 0, 0, 9, 8, 0], [0, 0, 0, 6, 0, 0, 0, 0, 0], [0, 0, 9, 0, 0 , 0, 7, 0, 1], [0, 0, 0, 0, 0, 8, 1, 9, 0], [0, 4, 0, 5, 0, 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0]], [[5, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 7 , 0, 0, 8, 0, 0], [0, 0, 0, 0, 3, 0, 0, 7, 0], [6, 0, 1, 0, 0, 0, 9, 8, 0 ], [0, 0, 0, 6, 0, 0, 0, 0, 0], [0, 0, 9, 0, 0, 0, 7, 0, 1], [0, 0, 0, 0 , 0, 8, 1, 9, 0], [0, 4, 0, 5, 0, 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0 ]], [[5, 0, 0, 0, 0, 0, 0, 0, 0], [0, 9, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0 , 0, 3, 0, 0, 7, 0], [6, 0, 1, 0, 0, 0, 9, 8, 0], [0, 0, 0, 6, 0, 0, 0, 0 , 0], [0, 0, 9, 0, 0, 0, 7, 0, 1], [0, 0, 0, 0, 0, 8, 1, 9, 0], [0, 4, 0 , 5, 0, 1, 0, 0, 8], [0, 7, 0, 3, 0, 6, 0, 4, 0]]]
【问题讨论】:
-
预期输出是什么?
-
该函数应该返回new_puzzles列表
-
这很清楚,该函数确实做到了。你认为
new_puzzles有什么价值? -
输出可能只是原件的副本?
-
对不起,我不确定我是否理解您的问题。我是一个整体的python新手。我所知道的是,这是为数独返回原始拼图的副本。它特别需要一个谜题列表的深层副本。