Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 不使用itertools生成组合_Python_Loops_Generator - Fatal编程技术网

Python 不使用itertools生成组合

Python 不使用itertools生成组合,python,loops,generator,Python,Loops,Generator,我需要修复/修改我这里的代码,以便输出如下: 代码如下: num_list = [1, 2, 3] def combination_generator(num_list): pool = tuple(num_list) n = len(pool) if range(num_list) > n: return indices = list(range(num_list)) yield tuple(pool[i] for

我需要修复/修改我这里的代码,以便输出如下:

代码如下:

num_list = [1, 2, 3]
def combination_generator(num_list):
    pool = tuple(num_list)
    n = len(pool)
    if range(num_list) > n:
        return
        indices = list(range(num_list))
        yield tuple(pool[i] for i in indices)
        while True:
            for i in reversed(range(num_list)):
                if indices[i] != i + n - range(num_list):
                    break
    else:
        return
        indices[i] += 1
        for j in range(i+1, range(num_list)):
            indices[j] = indices[j-1] + 1
        yield tuple(pool[i] for i in indices)

print(combination_generator(num_list))
注意:我不允许使用任何进口产品。所以我不能用itertools。此外,如果添加到列表中,它还必须具有更多的值

有什么帮助吗?

num\u list=[1,2,3]
def组合_发生器(属性):
属性=列表(属性)

如果len(attrs)由于需要将预期输出返回到集合列表中,如何使其返回集合?我还需要删除集合{},因为它未包含在预期值中。更新:我似乎找到了一个解决办法。。谢谢你。