在python中组合列表元素

2024-06-16 09:38:44 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一份清单

[ ['B','2'] , ['o','0'], ['y']]

我想在不使用iteratool的情况下将列表组合成这样的东西

^{pr2}$

我不能使用itertool,因为我必须使用python2.5。在


Tags: 列表情况pr2itertooliteratool
2条回答

^{}执行您想要的操作。在

>>> [''.join(x) for x in itertools.product(*[['B', '2'], ['o', '0'], ['y']])]
['Boy', 'B0y', '2oy', '20y']

如果您不想使用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']

这是一个更紧凑的版本:

^{pr2}$

在任何一种情况下,您都在生成一个cartesian product,这是使用itertools.product()更好、更灵活的方法(除非您只是好奇如何做…)

相关问题 更多 >