给定这个公式在python中实现
所以对于n = 3
x = [] y = [] for i in range(1,4): x.append(i) for j in range(1,4): y.append(j**2) total = 0 for i in range(len(x)): for j in range(len(y)): total = total + x[i] * y[j] print(total)
@H_404_12@这可行.但是说我想要第三个sigma表示法,例如
仅添加另一个循环k就可以与上述完全相同.
我的问题是,是否有一种方法可以在给定n(即j ^ 2 * i)的值的函数中对此进行概括.我陷入了更多循环泛滥的困境
def manysums(n,L : i.e. [[1,2,3],[1,4,9],8,27]]): pass
@H_404_12@像上面一样,列表内的值总和为
L = [[1,27],3]]
将是4 sigma表示法,这将是4个四个循环.我想知道这样的事情是否可以在函数中推广
最佳答案
请参阅
itertools.product
.如果您对它的实现方式感兴趣,那么链接中有一个模拟实现.
Cartesian product of input iterables.
Roughly equivalent to nested for-loops in a generator expression. For example,
product(A,B)
returns the same as((x,y) for x in A for y in B)
.The nested loops cycle like an odometer with the rightmost element advancing on every iteration. This pattern creates a lexicographic ordering so that if the input’s iterables are sorted,the product tuples are emitted in sorted order.
from itertools import product
for i,j,k in product([1,27]):
print(j**2 * i * k**3)
@H_404_12@