2つのリストの要素のペアのリストが欲しい

[1,2,3]と[4,5,6]の2つのリストがあった時、
[(1,4), (1,5), (1,6), (2,4), ...]
というリストが欲しい。

リスト内包で作れる。

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> [(x, y) for x in a for y in b]
[(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]


こういうペア、名前がついてた気がするけど、何だったっけ……


ちなみに自分自身を含むペアのリストは以下のように書ける。

>>> a = [1,2,3]
>>> [(x, y) for x in a for y in a]
[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]