gpt4 book ai didi

python - 从 N 个元组中获取所有值

转载 作者:太空宇宙 更新时间:2023-11-03 20:11:48 26 4
gpt4 key购买 nike

我创建了一个递归函数来显示更大集合中的所有 k 大小的子集。简单地打印出子集是没有问题的,但是当我想返回这些集合时,如果以后需要使用它们,我就会遇到麻烦。

这是起始组 [3,5,7,9] 的输出

((((0, 0), (0, [3, 5])), ((0, [3, 7]), ([3, 9], 0))), (((0, [5, 7]), ([5, 9], 0)), (([7, 9], 0), (0, 0))))

这只是一个快速片段,用于查看输出的样子,如下所示:

a=list1([3,5,7,9],0,0,0,[],2)


for i in a:
for j in i:
for k in j:
print(k)
(0, 0)

(0, [3, 5])

(0, [3, 7])

([3, 9], 0)

(0, [5, 7])

([5, 9], 0)

([7, 9], 0)

(0, 0)

由于我想要的列表的索引从元组到元组都在变化,并且您需要进入的深度也会根据起始集的大小而变化,所以我真的不知道如何只提取输出的最终列表。

最佳答案

list_of_lists=list()
def test_tuple(t): #where t is a tuple
for element in tuple:
if type(element) == type(list()):
list_of_lists.append(element)
elif type(element) == type(tuple()):
test_tuple(element)

由于您已经将输出存储在一个大元组中,因此您只需将该大元组传递给 test_tuple 并声明一个包含所有提取列表的变量。除非你做一些类似创建无限递归列表的事情,否则这应该可以解决问题。

关于python - 从 N 个元组中获取所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58672766/

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