Wir haben zwei Listen A und B:Wie erhalten Sie alle Zuordnungen zwischen zwei Listen?
A = ['a','b','c']
B = [1, 2]
Gibt es einen pythonic Weg, um die Menge aller Karten zwischen A und B 2^enthält, zu bauen n (hier 2^3 = 8)? Das heißt:
[(a,1), (b,1), (c,1)]
[(a,1), (b,1), (c,2)]
[(a,1), (b,2), (c,1)]
[(a,1), (b,2), (c,2)]
[(a,2), (b,1), (c,1)]
[(a,2), (b,1), (c,2)]
[(a,2), (b,2), (c,1)]
[(a,2), (b,2), (c,2)]
itertools.product
benutzen, ist es möglich, alle Tupel zu erhalten:
import itertools as it
P = it.product(A, B)
[p for p in P]
Welche gibt:
Out[3]: [('a', 1), ('a', 2), ('b', 1), ('b', 2), ('c', 1), ('c', 2)]