Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
リストがあるとしますL。デカルト積は次のL x Lように計算できます。
L
L x L
product = [(a,b) for a in L for b in L]
デカルトパワーL x L x L x ... x L(与えられたnに対してn回)を短く効率的な方法でどのように計算できますか?
L x L x L x ... x L
使用itertools.product():
itertools.product()
product = itertools.product(L, repeat=n)
どこproductが反復可能になりましたか。list(product)それを完全なリストに具体化したい場合は、電話してください。
product
list(product)
>>> from itertools import product >>> list(product(range(3), repeat=2)) [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]