首页 > 解决方案 > 列表和嵌套列表的简单点积以单独列表中的索引为条件

问题描述

这是一个使用嵌套列表和普通列表的简单点积(或求和)。

x1 = [[1, 1, 1], [9, 9, 9]]
x2 = [2, 2, 2]
M = [0]

result = []
for x in x1:
    result.append(sum(a * b for a, b in zip(x, x2)))

结果

[6, 54]

但是,在涉及 M 中指定的索引 m 的条件下,我希望结果中的某些元素可能为 None。

我想进行这个比较:对于每个x[m] < x2[m]附加值应该是 None 而不是 sum product。

因此,使用上面的示例所需的结果应该是:

result = [None, 54]

...因为 1 < 2 为真,所以无

...并且 9 < 2 是错误的,所以像其他方式一样附加总和产品:54

一个要求是 M 的长度可以变化并且可以为空。

标签: python

解决方案


只是在最后添加最后的条件?

for m in M:
    if x[m] < x2[m]:
        result[m] = None

推荐阅读