python 中嵌套列表的所有条件排列

All conditional permutations of a nested list in python

我有一个像波纹管 (A) 这样的数组,我想将它转换为 (B)。

A:

A = [['a', 'ae', 'oa'], ['a'], ['l'], ['y', 'i']]

B:

B = ['aaly',
'aali',
'aealy',
'aeali',
'oaaly',
'oaali']

使用:

from itertools import product

A = [['a', 'ae', 'oa'], ['a'], ['l'], ['y', 'i']]

res = ["".join(p) for p in product(*A)]
print(res)

输出

['aaly', 'aali', 'aealy', 'aeali', 'oaaly', 'oaali']

作为替代用途:

res = list(map("".join, product(*A)))