【发布时间】:2023-03-19 11:00:01
【问题描述】:
我试图将两个列表相乘,取所有元素的总和并将总和添加到初始列表中。
我有两个列表:
list_1 = [(1, 5, 6, 90), (9.3, 3.4, 9, 8), (8.4, 9, 9, 10)]
list_2 = [[0.0, 0.1, 0.2, 0.7], [0.0, 0.1, 0.3, 0.6], [0.0, 0.1, 0.6, 0.3]]
我想将list_1 的每个元素与list_2 的所有条目相乘
结果应该是这样的:
result = [[0, 0.5, 1.2, 63], [0, 0.5, 1.8, 45], [0, 0.5, 3.6, 27]]
之后我会取结果的总和并将结果添加到 list_2
result_2 = [[0.0, 0.1, 0.2, 0.7, **64.7**], [0.0, 0.1, 0.3, 0.6, **47.3**], [0.0, 0.1, 0.6, 0.3, **31.1**]]
在第一步中,我想将最终数据存储在list_1 的每个元素的列表中
result_2_1= [[0.0, 0.1, 0.2, 0.7, **64.7**], [0.0, 0.1, 0.3, 0.6, **47.3**], [0.0, 0.1, 0.6, 0.3, **31.1**]]
result_2_2= 相同的过程,但使用List_1[1]
如果 list_1 只有一个列表 (= list_1 = [(1, 5, 6, 90)]),我当前的代码可以工作,但我尝试循环遍历列表似乎不起作用。我在条目中使用了 zip 或循环,但我总是最终将列表相乘......这是我目前有效的代码。
list_1 = [(1, 5, 6, 90)]
list_2 = [[0.0, 0.1, 0.2, 0.7], [0.0, 0.1, 0.3, 0.6], [0.0, 0.1, 0.6, 0.3]]
n_list_1 = np.array(list_1)
n_list_2 = np.array(list_2)
m_result = n_list_1 * n_list_2
n_result = []
for i in range(0,len(m_result)):
n_result_1 = sum(m_result[i])
n_result.append(n_result_1)
list_2[i].append(list(n_result))
我希望你能得到我想要做的事情,并对如何解决问题有任何建议。
【问题讨论】:
标签: python arrays multiplication