gpt4 book ai didi

python - 在 Python 中递归镜像嵌套元组

转载 作者:太空狗 更新时间:2023-10-29 22:04:38 26 4
gpt4 key购买 nike

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

((1, (2, 3)), (4, 5))

它应该返回:

((5, 4), ((3, 2), 1))

我尝试过的

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

最佳答案

也许我遗漏了什么,但我认为可以相对简单地完成:

def mirror(data):
if not isinstance(data, tuple):
return data
return tuple(map(mirror, reversed(data)))

>>> mirror(((1, (2, 3)), (4, 5)))
((5, 4), ((3, 2), 1))

这会将 mirror 函数应用于元组中的每个元素,以相反的顺序将它们组合成一个新的元组。

关于python - 在 Python 中递归镜像嵌套元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48260352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com