f# - 将列表与列表的列表相乘

标签 f#

我试图将 list2 的第一个元素乘以 list1 中第一个列表的每个元素,然后将 list2 的第二个元素乘以 list1 中第二个列表的每个元素,依此类推。

let list1 = [[5;6;7];[8;9;10];[11;12;13]]

let list2 = [2;3;4]

我想要的输出是[[10; 12; 14]; [24; 27; 30]; [44; 48; 52]]

我已经尝试过

list1 |> List.map (List.map2 (*) list2)

这会产生 [[10; 18; 28]; [16; 27; 40]; [22; 36; 52]]

最佳答案

这是一个基本的解决方案:

let multElem list elem =
    list |> List.map ((*) elem)

let mult list1 list2 =
    List.map2 multElem list1 list2

mult list1 list2

关于f# - 将列表与列表的列表相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68202591/

相关文章:

c# - 在 C# 中访问 F# 可区分联合类型的数据的最简单方法是什么?

reflection - 在 F# 中,如何访问函数的属性?

f# - 在 Xamarin Studio 4.0.3 中调试 F# 会引发错误

f# - 我应该使用什么后缀在 F# 中定义 UInt128?

f# - 在 F# 中的 for 循环中 '->' 和 'do' 之间有什么区别

f# - F# 表达式中的 "schema"和 "meta symbol"是什么意思?

f# - 解释器可以用符号表来实现吗?

f# - 在 F# 中返回相同类型的修改版本

c# - 使用动态类型作为它自己的基类型的参数

.net - 明显的 F#/BCL 浮点错误