【问题标题】:Multiplication of lists of different sizes不同大小列表的乘法
【发布时间】:2016-12-08 00:02:48
【问题描述】:
import numpy as np

newResidues = [1, 2, 3, 4, 5]
newI = [[1,0,1,0,1],[1,1,0,0,0],[1,0,0,1,0]]
sqrt = 10

templist = []

from itertools import compress

for i in newI:
   valuesofresidues = list(compress(newResidues, i))
   templist = valuesofresidues
   print templist

这会返回

[1, 3, 5]
[1, 2]
[1, 4]

现在,让我们占据第一行,[1,3,5] 我需要做以下操作 pow((sqrt + 1),2) + pow((sqrt + 3), 2) + pow((sqrt + 5),2) 并分别返回所有行的总和。让它返回

515
265
317

我尝试添加一个嵌套的 for 循环

for temp in range(n):
    x = templist[temp]
    xsquare = pow(sqrt+x,2) 

但它没有按我需要的方式工作。 任何帮助将不胜感激,谢谢!

【问题讨论】:

标签: python list multiplication


【解决方案1】:

使用此函数求和:

def getSum(sublist):
    return sum(pow(sqrt+x, 2) for x in sublist)

外壳示例:

>>> for i in newI:
   valuesofresidues = list(compress(newResidues, i))
   templist = valuesofresidues
   getSum(templist)


515.0
265.0
317.0

【讨论】:

    猜你喜欢
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 2019-08-23
    • 2012-06-01
    • 1970-01-01
    • 2013-11-12
    相关资源
    最近更新 更多