【发布时间】:2021-03-30 21:07:35
【问题描述】:
如果我有一个随机返回相同大小的二维列表的函数,我将如何将它们“平铺”在一起?
例如,如果我生成 4 个大小为 3 x 3 的 2D 列表,我如何将它们以 2 x 2 的排列组合成一个 6 x 6 的 2D 列表?
[[0,0,0], [[1,1,1], [[2,2,2], [[3,3,3],
[0,0,0], + [1,1,1], + [2,2,2], + [3,3,3],
[0,0,0]] [1,1,1]] [2,2,2]] [3,3,3]]
由w=2 安排h=2 制作:
[[0,0,0,1,1,1],
[0,0,0,1,1,1],
[0,0,0,1,1,1],
[2,2,2,3,3,3],
[2,2,2,3,3,3],
[2,2,2,3,3,3]]
在我的例子中,单个列表是随机生成的,并由一个以宽度和高度作为参数的函数返回。
我需要指定一些尺寸(h 和w)并将(h*w) 随机子网格排列成h by w 超级网格。子网格的顺序/具体排列无关紧要,一个接一个或任何其他排列都可以。
如果我想要一个将超级网格的宽度和高度以及子网格的宽度和高度作为参数的函数,我该怎么做?
【问题讨论】:
-
你会用 Numpy 吗?
-
没有 Numpy 的解决方案会更好,但如果您有需要它的解决方案,我想听听@MarkMeyer
-
@MarkMeyer 你的答案去哪儿了?我最终使用了 NumPy,这很容易。我正准备将其标记为已回答
-
对不起@Ambidextroid 我删除它以为我误解了这个问题。我只是取消删除以防万一。
标签: python list multidimensional-array