【发布时间】:2020-02-06 00:05:34
【问题描述】:
一直在思考和尝试如何将列表列表转换为多个列表。
比如下面的list列表:
['RZ', ['backho'], ['forest', 'arb']]
应该根据元素的最大长度转换为n-lists,因此由于第三个元素的长度,这会导致两个列表:
['RZ', 'backho', 'forest']
['RZ', 'backho', 'arb']
列表列表中的每个元素都表示为该元素选择的可能性。
【问题讨论】:
-
你的意思是结果应该是笛卡尔积吗?
-
@schwobaseggl 请重新打开,这个问题可不是扁平化那么简单。
-
import itertools; [list(sublist) for sublist in itertools.product(*input)]会做你想做的事吗? -
@Bjartr 不,它没有,因为
RZ不在list内。否则,它会。 -
@JuanPerez 您能否再解释一下输入列表的格式是什么?看起来
'RZ'和['backho']受到同等对待。例如应该发生什么[0, [1], [2, 3], [4, 5, 6]]?