给出一个输入列表:
l=[["A","B"],["C","D","E"],["F","G"]]
Run Code Online (Sandbox Code Playgroud)
我想用这个列表做的是:
o = ["ACF", "ACG", "ADF", "ADG", "AEF", "AEG",
"BCF", "BCG", "BDF", "BDG", "BEF", "BEG"]
Run Code Online (Sandbox Code Playgroud)
起初,我试图len用标准函数reduce和functools 生成一个列表和多个列表mul.
ls = list(map(len,l))
ll = ["" for i in range(reduce(mul, ls, 1))]
Run Code Online (Sandbox Code Playgroud)
接下来,我没有高效或"pythonic"的想法来解决这个问题.
顺便说一句,这似乎是树遍历的类似问题,但我认为这是多父树或与图实现相关的问题.
为了处理大量列表中的内存问题,如何使用有向图或任何其他算法使用python生成器解决这个问题?