在Python中查找嵌套列表的维度

0 投票
1 回答
4008 浏览
提问于 2025-04-28 03:20

我们可以通过使用嵌套列表在Python中创建多维数组,比如:

A = [[1,2,3],
     [2,1,3]]

等等。在这种情况下,行数nRows可以通过len(A)得到,列数nCols可以通过len(A[0])得到。不过,当我有超过三维的时候,这就变得复杂了。

A = [[[1,1,[1,2,3,4]],2,[3,[2,[3,4]]]],
     [2,1,3]]

等等。这些列表在Python中是合法的。而且维度的数量并不是事先确定的。在这种情况下,如何确定维度的数量以及每个维度中的元素数量呢?

我在寻找一个算法,如果可能的话还想要实现方法。我觉得这可能和深度优先搜索(DFS)有点类似。有什么建议吗?

附注:我并不想寻找现有的包,不过我也想了解一下它们。

暂无标签

1 个回答

0

我觉得我自己已经解决了这个问题。其实就是一个简单的深度优先搜索(DFS)。

对于上面给出的例子:A = [[[1,1,[1,2,3,4]],2,[3,[2,[3,4]]]], [2,1,3]],答案是这样的:[[3, 2, 2, 2, 3, 4], [3]]。总的维度数是7。

我想我之前想得太复杂了……不过还是谢谢你们!

撰写回答