Умножение списка списков на списки в F # - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть два списка, и я хочу их умножить, где каждый элемент в нижнем списке умножается на соответствующий список в верхнем списке, когда ziping дает четкую картинку, но при умножении это приводит к ошибкам

let list1 = [[0.10M;0.2M;0.35M;0.14M];[0.5M;0.60M;0.76M;0.18M];[0.19M;0.10M;0.51M;0.32M;];[0.13M;0.64M;0.95M;0.26M]]
let list2 = [0.1M;0.2M;0.3M;0.4M] 
let List = List.zip list1 list2 |> List.map(fun (x,y) -> x * y)

1 Ответ

0 голосов
/ 14 апреля 2020

Две карты делают свое дело:

let list1 = [[0.10M;0.2M;0.35M;0.14M];[0.5M;0.60M;0.76M;0.18M];[0.19M;0.10M;0.51M;0.32M];[0.13M;0.64M;0.95M;0.26M]]

let list2 = [0.1M;0.2M;0.3M;0.4M] 

let listMult = list1 |> List.map (List.map2 (*) list2)
...