说我有这两个列表列表。
[[1.0, 100.0], [2.0, 100.0], [3.0, 100.0], [4.0, 100.0], [5.0, 100.0]]
[[1.0, 20.0], [2.0, 20.0], [3.0, 0.0]]
请注意不同的尺寸,我想将它们组合起来创建下面的列表
[[1.0, 100.0, 20.0], [2.0, 100.0, 20.0], [3.0, 100.0, 0.0], [4.0, 100.0], [5.0, 100.0]]
它们可以是任意数量的列表,它们可以是任意长度。
答案 0 :(得分:0)
如果您想要唯一值并组合任何长度列表:
from itertools import chain, izip_longest,ifilter
obj = object()
from collections import OrderedDict
print([list(ifilter(lambda x: x is not obj, OrderedDict.fromkeys(chain.from_iterable(tup))))
for tup in (tup for tup in izip_longest(l1,l2,fillvalue=[obj]))])
输出:
[[1.0, 100.0, 20.0], [2.0, 100.0, 20.0], [3.0, 100.0, 0.0], [4.0, 100.0], [5.0, 100.0]]
如果订单无关紧要,您可以在tup上调用set
而不是OrderedDict。