首页 > 解决方案 > 将加权列表添加在一起

问题描述

我有两个清单。(CSV 文件,300x300)列表 A 中的值必须乘以 2.4 列表 B 中的值必须乘以 0.2 然后每个对应位置的值必须相互乘以:

G =(listA * 2.4)*(listB * 0.2)

ListC = []

For i in range (len(listA)): 
    For j in range (len(listA[i])):                                     
        Weight1 = listA[i][j] * 2.4     
    ListC.append(weight1)

然后我对列表 B 做了同样的事情,但将其附加到列表 D。这是正确的方法吗?然后我将如何将 listC 和 listD 中的每个相应位置相乘?

标签: python-3.xnested-lists

解决方案


好吧,您自己的示例似乎有嵌套列表,但在回答您的实际问题时:

列表 A 中的值必须乘以 2.4 列表 B 中的值必须乘以 0.2 然后每个对应位置的值必须相互乘以:

你可以用这个很好地做到这一点:

list_c = []
for a, b in zip(list_a, list_b):
    list_c.append((a * 2.4) * (b * 0.5))

或者更紧凑(如果你喜欢那种东西)列表理解:

list_c = [(a * 2.4) * (b * 0.5) for a, b in zip(list_a, list_b)]

旁注:避免在变量(和函数)名称中使用大写字母。它不是很pythonic


推荐阅读