python : summation over all permutations

标签 python list

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

我有两个列表 ab .我可以将列表的元素称为 a[i][j]其中 0<i<1000<j<100 .

我想找到所有 a[i][j] - b[k][l] , 其中0<i<100, 0<j<100, 0<k<1000<l<100 .然后对 i, j, k, l 的所有排列进行求和 .

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

最佳答案

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

itertools.product 相当于一个嵌套的 for 循环。它将遍历从 (1, 1, 1, 1)(99, 99, 99, 99)这将跳过零,这似乎是您要求的。

关于 python : summation over all permutations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28609028/

相关文章:

python - Kivy Garden - 多个 Chromium 嵌入式浏览器,只能更改第一个创建的浏览器的 URL?

python - 为什么我会收到这个(显然)不寻常的 AttributeError : 'bytes' object has no attribute '_all_strings' ? 有没有办法解决它?

python - Python 中的 traverse_ 等效项?

reflection - 如何获取 SQLite 数据库表中列的列表?

java - 从 Java 列表中随机选择 []

python - 检查 python 列表中的下一个元素是否为空

python - 将 python 脚本输出打印到文本文件和命令窗口

python - tastypie 过滤外键相关资源

python - 有没有办法创建一个可以用作计数器的列表?

python - 根据另一个具有不完整值的较短列表对列表进行排序