リストのリストがあるとしましょう
[ ['B','2'] , ['o','0'], ['y']]
そして、iteratoolを使用せずにリストをこのようなものに結合したい
["Boy","B0y","2oy","20y"]
Python 2.5を使用する必要があるため、itertoolを使用できません。
リストのリストがあるとしましょう
[ ['B','2'] , ['o','0'], ['y']]
そして、iteratoolを使用せずにリストをこのようなものに結合したい
["Boy","B0y","2oy","20y"]
Python 2.5を使用する必要があるため、itertoolを使用できません。
itertools を使用したくない場合は、このリスト内包表記が出力を生成します。
>>> LoL=[['B','2'], ['o','0'], ['y']]
>>> [a+b+c for a in LoL[0] for b in LoL[1] for c in LoL[2]]
['Boy', 'B0y', '2oy', '20y']
これは、これのよりコンパクトなバージョンです。
LoL=[['B','2'], ['o','0'], ['y']]
r=[]
for a in LoL[0]:
for b in LoL[1]:
for c in LoL[2]:
r.append(a+b+c)
print r
どちらの場合でも、itertools.product()を使用してより優れた柔軟なデカルト積を作成しています (方法に興味がある場合を除きます...)