小编shi*_*iru的帖子

在Python中递归镜像嵌套元组

我试图编写一个输入嵌套元组的函数,并返回一个元组,其中所有元素都向后,包括其他元组中的元素(基本上镜像它).所以有了这个输入:

((1, (2, 3)), (4, 5))
Run Code Online (Sandbox Code Playgroud)

它应该返回:

((5, 4), ((3, 2), 1))
Run Code Online (Sandbox Code Playgroud)

我尝试了什么

def mirror(t):
    n = 1
    for i in t:
        if isinstance(i, tuple):
            mirror(i)
        if n == len(t):
            t = list(t)
            t = t[::-1]
            t = tuple(t)
        n += 1
    return t
Run Code Online (Sandbox Code Playgroud)

python recursion python-3.x

6
推荐指数
2
解决办法
532
查看次数

在保留其结构的同时递归清空嵌套列表

我试图编写一个函数来读取包含列表的列表,并返回相同的列表结构但没有元素.

def remove_from_list(l):
    for e in l:
        if isinstance(e, list):
            remove_from_list(e)
        else:
            l.remove(e)
    return l
Run Code Online (Sandbox Code Playgroud)

所以对于这样的输入:

[1, 2, [], [3,[4]], 5]
Run Code Online (Sandbox Code Playgroud)

我应该得到这样的东西:

[[], [[]]]
Run Code Online (Sandbox Code Playgroud)

我尝试了这些输入:

[1, 2, [], [3,[4]], 5]
[1, 2, [], [2,[3]], 2]
Run Code Online (Sandbox Code Playgroud)

得到这些输出:

[2, [], [[4]]]
[[], [[3]], 2]
Run Code Online (Sandbox Code Playgroud)

这是非常令人困惑的,因为两个列表的结构是相同的; 只有元素不同.因此,我不仅会犯错误,而且会得到另一个错误.帮助我的错误的功能和解释将非常感激.

python algorithm recursion list

3
推荐指数
1
解决办法
357
查看次数

标签 统计

python ×2

recursion ×2

algorithm ×1

list ×1

python-3.x ×1