【问题标题】:creating a recursive function to show the depth of numbers of list in dictionary创建一个递归函数来显示字典中列表数字的深度
【发布时间】:2022-10-24 01:12:10
【问题描述】:

..................................................... ..

【问题讨论】:

  • 请提供足够的代码,以便其他人可以更好地理解或重现该问题。
  • 正如你所说,这是你的任务。尝试解决它,如果您在途中有一些具体的疑问,请回来问那个。
  • nima kazemi,不要破坏你的帖子。通过在本网站上发布,您已不可撤销地授予 Stack Exchange 网络以CC BY-SA 4.0 license 分发该内容的权利,只要它认为合适即可。有关删除的替代方法,请参阅:I've thought better of my question; can I delete it?

标签: python function recursion depth


【解决方案1】:

您需要使用递归。首先创建一个检查类型的函数。如果类型是列表,则再次调用该函数,直到它不是列表。一旦发生这种情况,将该值附加到它的任何深度列表中。

def depth_map(array: list, depth=1, result={}) -> dict:
    for element in array:
        if type(element) == list:
            result = depth_map(element, depth + 1, result)
        else:
            if result.get(depth):
                result[depth].append(element)
            else:
                result[depth] = [element]
    return result


a = [19, [[22]], [-3, [8], 47]]
depth_map(a)

【讨论】:

    猜你喜欢
    • 2021-11-22
    • 1970-01-01
    • 2012-03-21
    • 2022-01-20
    • 2014-12-02
    • 2021-06-14
    • 2020-03-22
    • 2020-11-01
    相关资源
    最近更新 更多