我想定义一个可以对输入进行排列的函数。输入是一组列表,例如:
[[(u'sss',)], [(u'ssss',), (u'sssssss',)], [(u'121',), (u'222',)]] .
我想以此作为输入。对于排列,我需要在列表的每个文本之间添加文本“ title”。因此,该函数的输出将如下所示:
'sss'+'title'+'ssss'+'title'+'121'+'title'
'sss'+'title'+'ssss'+'title'+'222'+'title'
'sss'+'title'+'sssss'+'title'+'121'+'title'
'sss'+'title'+'sssss'+'title'+'222'+'title'
最佳答案
使用itertools.product
和.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)]
输出:
['ssstitlesssstitle121title',
'ssstitlesssstitle222title',
'ssstitlessssssstitle121title',
'ssstitlessssssstitle222title']
关于python - Python做置换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52014011/