Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.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/3/sockets/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函数解释_Python - Fatal编程技术网

Python函数解释

Python函数解释,python,Python,程序的这一部分做什么(在上找到) 它实现了向后兼容性。请参阅产品的文档: itertools.product(*iterables[,repeat]) 输入变量的笛卡尔积 等效于生成器表达式中的嵌套for循环。例如,乘积(A,B)返回的值与((x,y)表示A中的x表示y中的y相同 B) 嵌套循环像里程表一样循环,最右边的元素在每次迭代中前进。这种模式创建了一个词典 排序,以便在对输入的iterables进行排序后,产品 元组按排序顺序发出 要计算iterable自身的乘积,请使用可选的repe

程序的这一部分做什么(在上找到)

它实现了向后兼容性。请参阅
产品的文档

itertools.product(*iterables[,repeat])

输入变量的笛卡尔积

等效于生成器表达式中的嵌套for循环。例如,乘积(A,B)返回的值与((x,y)表示A中的x表示y中的y相同 B)

嵌套循环像里程表一样循环,最右边的元素在每次迭代中前进。这种模式创建了一个词典 排序,以便在对输入的iterables进行排序后,产品 元组按排序顺序发出

要计算iterable自身的乘积,请使用可选的repeat关键字参数指定重复次数。对于 例如,产品(A,repeat=4)表示与产品(A,A,A)相同

此函数相当于以下代码,但实际实现不会在中生成中间结果 内存:

def product(*args, **kwds):
    # product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
    # product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
    pools = map(tuple, args) * kwds.get('repeat', 1)
    result = [[]]
    for pool in pools:
        result = [x+[y] for x in result for y in pool]
    for prod in result:
        yield tuple(prod)
请注意文档中的代码如何与您找到的匹配

我不明白为什么他们在文件中提到了
itertools.permutations
。。。 守则:

list(set((product(*[range(2) for _ in range(length)]))))
AFAIK相当于:

list(product(*[range(2) for _ in range(length)]))

它只计算
长度
范围(2)
iterables的乘积。

是的,精确地计算置换。毕竟这是一个非图解算器。
list(set((product(*[range(2) for _ in range(length)]))))
list(product(*[range(2) for _ in range(length)]))