Python:所有排列的求和

Pan*_*chi 5 python list

我遇到了一个看似简单的问题,有人可以帮忙吗?

我有两个列表ab。我可以将列表的元素称为a[i][j]where0<i<1000<j<100

我想找到所有的a[i][j] - b[k][l]、在哪里0<i<100, 0<j<100, 0<k<100以及0<l<100。然后对的所有排列进行求和i, j, k, l

有人知道一个优雅简单的方法吗?

Kev*_*vin 3

import itertools
sum(a[i][j] - b[k][l] for i, j, k, l in itertools.product(range(1, 100), repeat=4))
Run Code Online (Sandbox Code Playgroud)

itertools.product相当于嵌套for循环。它将遍历(i, j, k, l)(1, 1, 1, 1)到 的每个元组(99, 99, 99, 99)这将跳过 0,这似乎是您所要求的。