【发布时间】:2022-02-19 05:53:07
【问题描述】:
我正在尝试创建一个返回列表最大“深度”的函数。如果列表中不包含其他列表,则应返回 1。如果列表中最多包含一个列表,则应返回 2。如果列表中最多包含两个列表,则应返回 3,并且以此类推。
例子:
depth_one = [1, 2, 3] # should return 1
depth_two = [1, [2], 3] # should return 2
depth_three = [1, [[2], 3], [4]] # should return 3
我正在考虑使用递归算法,但我想不通。
【问题讨论】:
-
到目前为止你有什么尝试,
numpy与这个问题有什么关系? -
“我在考虑使用递归算法,但我想不通。”那么,你能写出递归算法吗?为了制定递归算法,您应该采取哪些步骤?当您尝试遵循这些步骤并写下您对必要过程的理解时会发生什么 - 使用真正的钢笔或铅笔在纸上?
-
我试图使用 numpy.shape 来获取此列表的形状,但显然这不适用于此类列表。
-
"但显然这不适用于这种类型的列表。"嗯,是;在 Numpy 的意义上,这个数据没有“形状”。 Numpy 数据必须在数据中的每个点在每个维度上具有相同的长度。