python中列表元素的组合列表

python中列表元素的组合列表,python,python-2.5,Python,Python 2.5,假设我有一个列表 [ ['B','2'] , ['o','0'], ['y']] 我想在不使用iteratool的情况下将列表合并成这样的内容 ["Boy","B0y","2oy","20y"] 我不能使用itertool,因为我必须使用python 2.5。做你想做的事 >>> [''.join(x) for x in itertools.product(*[['B', '2'], ['o', '0'], ['y']])] ['Boy', 'B0y', '2oy', '2

假设我有一个列表

[ ['B','2'] , ['o','0'], ['y']]
我想在不使用iteratool的情况下将列表合并成这样的内容

["Boy","B0y","2oy","20y"]
我不能使用itertool,因为我必须使用python 2.5。

做你想做的事

>>> [''.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']
这是一个更紧凑的版本:

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,请查看与itertools函数等效的python代码,然后复制并粘贴它(糟糕!)或重新实现它(同样糟糕,速度会更慢!)-1用于添加一个没有解释原因的需求。“我必须使用python 2.5”-*标记作为python-2.7*:“在2.3版中新增”。虽然是2.6,但是如果我不能使用Iteratool怎么办?那么请解释为什么会这样。或者您只需单击我答案中的链接,复制并粘贴
itertools.product
实现,然后使用该实现……我想知道是否还有其他方法可以不使用itertool来实现这一点。我知道仅使用itertools就可以实现这一点