Python für die Permutation
Thomas.Q
Ich möchte eine Funktion definieren, die die Permutation für die Eingabe durchführen kann. Die Eingabe ist eine Gruppe von Listen wie:
[[(u'sss',)], [(u'ssss',), (u'sssssss',)], [(u'121',), (u'222',)]] .
Ich möchte dies als Eingabe haben. Für die Permutation muss ich den Text "Titel" zwischen jedem Text der Liste einfügen. Die Ausgabe der Funktion würde also so aussehen:
'sss'+'title'+'ssss'+'title'+'121'+'title'
'sss'+'title'+'ssss'+'title'+'222'+'title'
'sss'+'title'+'sssss'+'title'+'121'+'title'
'sss'+'title'+'sssss'+'title'+'222'+'title'
jh314
Verwenden Sie itertools.product
und .join
:
from itertools import product
l = [[(u'sss',)], [(u'ssss',), (u'sssssss',)], [(u'121',), (u'222',)]]
result = [''.join(token + 'title' for [token] in tokens) for tokens in product(*l)]
Ausgabe:
['ssstitlesssstitle121title',
'ssstitlesssstitle222title',
'ssstitlessssssstitle121title',
'ssstitlessssssstitle222title']