我正在尝试为_list 中的每个项目创建一个“路径”列表。例如输入列表:
_list = [[x,x,x], [[x,x,x],[x,x,x]], [x,x,x]]
所需的输出:
_list = [\
[[0,0,0],[0,0,0],[0,0,0]], \
[[[0,1,0],[0,1,0],[0,1,0]],[[0,1,1],[0,1,1],[0,1,1]]] \
[[0,2,0], [0,2,0], [0,2,0]]]
这个想法是我正在创建一个类似于这样的数据树的路径:
http://studiomaven.org/images/2/2c/Grasshopper_Data_Tree.png
其中第一个分支是 0。那么由于 _list 中有三(3)个列表,那么第一个二级分支是 [0,0][0,1] 和 [0,2] 然后因为 [0,1] 分支还有一个在其中列出然后必须添加另一个级别,其中第一个分支中的所有项目都是 [0,0,0],第二个是 [0,1,0] 和 [0,1,1],因为该分支中有两个列表然后最终分支是[0,2,0]。
示例 2:输入:
_list = [x,x,x,x]
输出:
_list = [[0],[0],[0],[0]]
解释:由于它是一个单一的深度列表,所有信息都位于第一个 [0] 分支上。每个项目 x 都有一个路径 [0]
示例 3:输入:
_list = [[x,x,x],[x,x,x]]
输出:
_list = [[[0,0],[0,0],[0,0]],[[0,1],[0,1],[0,1]]]
解释:_List 包含两个列表,因此第一个分支 0 上还有两个分支。在这种情况下,该二级分支上的所有项目都是 [0,0] 和第二个分支 [0,1]。
这可以以某种方式递归地完成,这将适用于列表列表的任何深度/复杂性吗?
我知道这不是错误/问题,但我有点菜鸟,递归函数对我来说仍然是个谜。任何帮助都感激不尽。即使是简单的伪代码也能让我开始。谢谢你,