gpt4 book ai didi

python - 在 Python 中从元组的元组转换为嵌套元组

转载 作者:太空狗 更新时间:2023-10-30 02:29:13 24 4
gpt4 key购买 nike

有没有简单的转换方法

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

到以下递归结构,其中每个后续元组都作为先前元组的元素附加

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

这种嵌套有什么限制?我可以有 1000 或 10000 个这样的嵌套元组吗?

更新:似乎 t 嵌套是无限的(在将递归限制设置为 100 后尝试使用 10000)。

在 Window 7、Python 3.5 上)递归限制最初约为 300,但可以提升为(reference)。这与结构 t 无关,但可能与访问结果结构的嵌套级别的 Python 例程有关。

sys.getrecursionlimit()   # display current recursion level
sys.setrecursionlimit(10000) # set recursion level to 1000

最佳答案

使用 functools.reduce :

>>> from functools import reduce
>>> t = ((1,), (1, 2), (1, 2, 3), (1, 2, 3, 4), (1, 2, 3, 4, 5))
>>> reduce(lambda a, b: b + (a,), reversed(t), ())
(1, (1, 2, (1, 2, 3, (1, 2, 3, 4, (1, 2, 3, 4, 5)))))

关于python - 在 Python 中从元组的元组转换为嵌套元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33770780/

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