умножение элементов каждого кортежа в списке на каждый элемент списка - PullRequest
0 голосов
/ 05 ноября 2019

Для заданного списка кортежей и списка целых чисел, как получить результирующий список ("L3") кортежей, где каждый новый кортеж будет результатом умножения элементов кортежа в L1 и L2,

L1 = [(1,2,3),(2,3,4),(6,3,4),(9,8,7)]
L2 = [20,55,90]
L3 = [(20, 110, 270), (40, 165, 360), #and so on ]

1 Ответ

0 голосов
/ 05 ноября 2019

Предполагая, что размеры L2 будут соответствовать размерам кортежей L1. используя операции широковещательной трансляции, это можно сделать как умножение массива.

L1 = [(1,2,3),(2,3,4),(6,3,4),(9,8,7)]
L2 = [20,55,90]

import numpy as np

M1=np.array(L1)
V1=np.array(L2)

print(f"M1 dimension is {M1.shape} \n V1 dimensions are {V1.shape}")

R=V1*M1
result=[tuple(x) for x in list(R)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...