我试图随机交换列表中每个列表中的 2 个项目,其中要交换的项目不在另一个列表中。这是我的代码import random def swap(mylist): remain = [[1, 2], [4], [], [8, 2], [1, 4], [5, 2, 1], [], [9, 5], [7]] for x in range(0, 9): remaining = set(mylist[x]) - set(remain[x]) to_swap = random.sample(remaining, 2) mylist[x][mylist[x].index(to_swap[0])], mylist[x][mylist[x].index(to_swap[1])] = mylist[x][mylist[x].index(to_swap[1])], mylist[x][mylist[x].index(to_swap[0])] return mylistprint(swap([[8, 5, 4, 1, 3, 9, 7, 6, 2], [9, 3, 5, 6, 4, 7, 1, 2, 8], [7, 3, 2, 5, 4, 1, 9, 6, 8], [2, 1, 3, 8, 6, 9, 5, 7, 4], [1, 2, 3, 5, 7, 4, 9, 8, 6], [6, 9, 3, 1, 7, 4, 2, 8, 5], [1, 2, 7, 4, 3, 8, 5, 9, 6], [3, 7, 8, 4, 1, 5, 9, 6, 2], [4, 2, 6, 5, 7, 1, 9, 3, 8]]))每当我运行它并打印出结果时,它只会再次打印出我的输入。有谁知道我的代码有什么问题?
添加回答
举报
0/150
提交
取消