python - 计算列表中每个元素的成对操作(python)
问题描述
我将如何对列表 a 中的每个矩阵执行成对运算?我期待 10 个新变量 (n*(n-1))/2 其中 n 是列表 a 中的元素数。(5*(5-1))/2 = 10。
我将如何以某种方式做到这一点,以便它可以随任意数量的 n 扩展?
# list of matrices
a = [matrix([[ 1.1],[2.2]]),
matrix([[3.3],[ 4.4]]),
matrix([[5.5],[7.7]]),
matrix([[6.6],[9.9]]),
matrix([[8.8],[0.1]])]
b1 = a[0] - a[1] # no need to do a[0] - a[0]
b2 = a[0] - a[2]
b3 = a[0] - a[3]
b4 = a[0] - a[4]
b5 = a[1] - a[2] # no need to do a[1] - a[0]
b6 = a[1] - a[3]
b7 = a[1] - a[4]
b8 = a[2] - a[3]
b9 = a[2] - a[4]
b10 = a[3] - a[4]
解决方案
希望这可以帮助:
length = len(a)
i = 0
for x in range(length):
for y in range(length):
if x >= y : continue
i += 1
exec(f'b{i}=a[{x}]-a[{y}]')
推荐阅读
- bash - 使用管道和 bash 命令查找模式
- angular - Angular 7:无法绑定到“指令”,因为它不是“元素”的已知属性
- asp.net-core-webapi - 无法将类型 dto 转换为类型 Ienumerable
- c++ - 如何使用两个 for 循环执行独特的随机播放
- javascript - 尝试将 html 表下载到具有下拉列表的一列的文本文件中
- ruby-on-rails - 如何缩小 Barby 条码以适合 PDF 页面大小
- oauth - 如何刷新 oauth2client.client 的 id_token?
- python - 尝试打开图像时,Tkinter“无法打开”pyimage1“:没有这样的文件或目录”错误
- postgresql - pgAdmin 找不到记录,而 SQLAlchemy 确实
- r - 试图找到一个向量的最小值