我想将sum_row的第一和第二个元素分别乘以13。并将第三和第四乘以11,最后一个乘以9。
我想我的问题确实是如何访问列表中的元素,以便以后可以将它们用于计算?
matrix5x5 = [[1 for row in range (5)] for col in range (5)]
for row in matrix5x5:
for item in row:
print(item,end=" ")
print()
sum_row = [sum(i) for i in matrix5x5]
print(sum_row)
输出:
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
[5, 5, 5, 5, 5]
答案 0 :(得分:2)
您可以尝试以下一种方法:
sum_row = [1,1,1,1,1] # example
YourList = [13,13,11,11,9]
result = []
for i in range(0, len(sum_row)):
result.append(sum_row[i]*YourList[i])
print result
,输出将是:
[13, 13, 11, 11, 9]
您甚至可以尝试使用[5,5,5,5,5]
作为每一行的总和。
答案 1 :(得分:1)
您可以使用zip()
函数:
result = [a * b for a, b in zip(sum_row, [13,13,11,11,9])]
print(result)
# OUTPUT
# [65, 65, 55, 55, 45]
答案 2 :(得分:0)
对于矢量化计算,请使用numpy
:
import numpy as np
result = np.array(sum_row) * np.array([13,13,11,11,9])
结果:
>>> result
array([65, 65, 55, 55, 45])
答案 3 :(得分:0)
最简单的答案是:
l = [1,2,3,4,5]
a = l[0] * 13
b = l[1] * 13
c = l[2] * 11
d = l[3] * 11
e = l[4] * 9
print(a, b, c, d, e)
您的结果将是13 26 33 44 45
。
其他用户提供了更短,更好的方法来进行此操作,但是如果您想遵循他们的做法,则应尝试了解他们的所作所为。