所以我正在为一个班级做一个项目,它调用了一个列表,你可以说一个 9x9 的正方形,并创建一个新的列表,它将是 9 组 3x3。
示例列表:
L = [[5,3,4,6,7,8,9,1,2],
[6,7,2,1,9,5,3,4,8],
[1,9,8,3,4,2,5,6,7],
[8,5,9,7,6,1,4,2,3],
[4,2,6,8,5,3,7,9,1],
[7,1,3,9,2,4,8,5,6],
[9,6,1,5,3,7,2,8,4],
[2,8,7,4,1,9,6,3,5],
[3,4,5,2,8,6,1,7,9]]
所以我希望我的新列表是:
newL = [[5,3,4,6,7,2,1,9,8],
....
我希望你能看到模式。
5 小时后,我基本上能够通过列表理解重新创建列表:
List = [[row[col] for col in range(len(list1))] for row in list1]
那么我能得到的最接近的是:
List = [[row[col] for col in range(int(sqrtofsize)] for row in list1]
它会打印出每个元素的前 3 个,然后我虽然可以创建 3 个单独的列表,但唯一的问题是如果你有一个 16x16 的块,它将无法工作。
另一个问题是我不能让它订阅。
我确定那里有信息,尽管我一直在寻找 5 个小时,但我无法弄清楚。
请要求澄清。
谢谢