概要
2本のリストを「同じ番号どうしのペア」に組むノードです。[サイズ列] と
[色列] から「1番目のサイズ+1番目の色」…という対応表を作り、後段の
list_map の式で両方の値を同時に使えるようにします。
使い方のポイント
- zip 後の
list_mapではa/bが式にそのまま書ける(a + b等)。 「2系列の数値から1系列を合成する」のが定番の流れ - 全組み合わせが欲しいなら
cartesian_product。zip は「対応するペアのみ」 - 長さが違うと短い方に切り詰められる(余りは捨てられる)ので、 候補数は揃えておくのが安全
関連ノード
cartesian_product— ペアではなく全組み合わせlist_map— zip 結果の消費先list_enumerate— 1本のリストに番号を付けるだけの版variant_range/seed_range— 入力リストの生成元
まず大事なこと
ListZipは 同じ番号どうしを組にする ノードです- 長さは 短い方のリスト に揃います
まずはこの例
次の 2 つのリストを入れます。
a = [10, 20, 30]
b = ["A", "B"]
このとき entries はこうなります。
[
{ "index": 0, "a": 10, "b": "A" },
{ "index": 1, "a": 20, "b": "B" }
]
count はこうです。
count = 2
後段からどう見えるか
ListMap や ListFilter にこの entries を入れると、
indexab
をそのまま式で使えます。
例:
a + b
a * 10 == b
どういう時に使うか
- 値一覧とラベル一覧を対応付けたい時
- seed 一覧と別パラメータ一覧をペアにしたい時
- 2系列の候補を「同じ番号どうし」でまとめたい時
注意
- 余った要素は捨てられます
PaletteはList<Color>として扱います