是否可以按顺序对两个列表逐项使用列表推导?给定A = [1,2,3]
,,B = [4,5,6]
得到一些C = [f(1, 4), f(2, 5), f(3, 6)]
。换句话说,一种更直接/更有效的方式[f(U, V) || {U, V} = lists:zip(A, B)].
类似的问题适用于二进制文件,如果给定A = <<1,2,3>>
and B = <<4,5,6>>
。例如,如果您必须对两个二进制文件进行异或运算,这将非常有用。
是否可以按顺序对两个列表逐项使用列表推导?给定A = [1,2,3]
,,B = [4,5,6]
得到一些C = [f(1, 4), f(2, 5), f(3, 6)]
。换句话说,一种更直接/更有效的方式[f(U, V) || {U, V} = lists:zip(A, B)].
类似的问题适用于二进制文件,如果给定A = <<1,2,3>>
and B = <<4,5,6>>
。例如,如果您必须对两个二进制文件进行异或运算,这将非常有用。
模块中已经有一个高阶函数,lists
它被称为lists:zipwith/3。您的示例场景将以这种方式实现:
lists:zipwith(fun f/2, A, B).