複数の配列(リスト)の要素同士を組み合わせて配列の配列を作るには (product) 2013/09/17
[1, 2, 3]
と ["a", "b"]
から
[[1, "a"], [1, "b"], [2, "a"], [2, "b"], [3, "a"], [3, "b"]]
を作る方法。
Scala 2015/01/10
例
val lst1 = List(1, 2, 3);
val lst2 = List("a", "b");
println(lst1.flatMap(e1 => lst2.map(e2 => (e1, e2))));
// => List((1,"a"), (1,"b"), (2,"a"), (2,"b"), (3,"a"), (3,"b"))
PHP 2014/01/06
array_product
という関数があり、これでできるかと思いきや、これは数字を要素とする配列から、その数字をすべて掛けあわせた数を計算する関数だった。簡単にできる方法はないのかな?
array_product
関数 | PHP Manual
http://php.net/manual/ja/function.array-product.php
Python 2013/10/14
リストの内包表記を使う例
lst1 = [1, 2, 3]
lst2 = ["a", "b"]
print [[x, y] for x in lst1 for y in lst2]
# => [[1, "a"], [1, "b"], [2, "a"], [2, "b"], [3, "a"], [3, "b"]]
Ruby / JRuby 2015/01/04
Array#product
を使う。
p [1, 2, 3].product(["a", "b"])
# => [[1, "a"], [1, "b"], [2, "a"], [2, "b"], [3, "a"], [3, "b"]]
Array#product
| Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/product.html