for矩阵中的循环

问题描述 投票:1回答:1

im试图为i和j的每个组合应用函数$ y =(x_i-x_j)$。并且j,i = {1,2,...,5}和x = {10,-15,13,​​20,-4}。例如,对于i = 1和j = 1,我们有y = x_1-x_1 = 0。现在对于i = 1和j = 2,我们有y = x_2-x_1 = 25

在我的脑海中,我想到的是这样的矩阵enter image description here

我尝试过for循环,但我不知道如何使其像矩阵一样

y=[]
for k in range(0,4) 
         for j in range (0,4)
              y.append(x[k]-x[j])

但是无法按照我的要求工作。你们能帮我一下吗。谢谢

python new-operator
1个回答
1
投票

此作品:

import pprint

x_in = [10, -15, 13, 20, -4]

matrix = [[[0]  for i in range(len(x_in))] for i in range(len(x_in))]

for i, x1 in enumerate(x_in):
    for j, x2 in enumerate(x_in):
        matrix[j][i] = x1 - x2

pprint.pprint(matrix)

输出:

[[0, -25, 3, 10, -14],
 [25, 0, 28, 35, 11],
 [-3, -28, 0, 7, -17],
 [-10, -35, -7, 0, -24],
 [14, -11, 17, 24, 0]]
© www.soinside.com 2019 - 2024. All rights reserved.