Python:定义返回所有排列总和的函数

Python:定义返回所有排列总和的函数,python,itertools,Python,Itertools,我有一个python函数a(I,j,k,l)。对于0,您可以使用并解压缩这些值,如下所示 sum(a(*perm) for perm in permutations((j, j, k, l))) 比如说, >>> from itertools import permutations >>> from random import randint >>> def a(*args): ... return args[randint(0, l

我有一个python函数
a(I,j,k,l)
。对于
0,您可以使用并解压缩这些值,如下所示

sum(a(*perm) for perm in permutations((j, j, k, l)))
比如说,

>>> from itertools import permutations
>>> from random import randint
>>> def a(*args):
...    return args[randint(0, len(args) - 1)]
>>> sum(a(*perm) for perm in permutations((1, 2, 3, 4)))
57

我们正在将一个生成器表达式传递给
sum
,这意味着所有计算的
置换都不会存储在内存中。

但是我得到了一个错误-
TypeError:“HDUList”对象不可调用
@Panchi什么是
HDUList
?你在问题中没有提到这一点。我不知道那是什么:(我在做-
范围内的i(0100):范围内的j(0100):范围内的k(0100):范围内的l(0100):定义ggg(i,j,k,l):itertools中的perm的返回和(a(*perm)。置换((j,j,k,l)))
@Panchi你能编辑这个问题并包含实际的代码吗?这是一个很长的代码,有很多东西,这可能是前一行的问题。我会检查一下,让你知道