Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从N个元组中获取所有值_Python - Fatal编程技术网

Python 从N个元组中获取所有值

Python 从N个元组中获取所有值,python,Python,我创建了一个递归函数来显示更大集合中的所有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

我创建了一个递归函数来显示更大集合中的所有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)
由于我想要的列表的索引在不同的元组之间变化,并且您需要到达的深度也会根据起始集的大小而变化,所以我真的不知道如何从输出中仅提取最终列表

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并声明一个包含所有提取列表的变量。除非你做了一些类似于创建一个无限递归列表的事情,否则这应该可以做到


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

我认为您需要一个递归函数,在决定是提取还是深入之前检查每个元素的类型。这是正确的吗?我认为您需要一个递归函数,在决定是提取还是深入之前检查每个元素的类型。这是正确的吗?
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)