3

问题是在保持顺序的情况下合并两个列表,并且合并列表中的项目数量相同,不能超过10个(或任意数量)项目,但尽可能多。

这是最简单的例子。

l1 = list('1'*10)
l2 = list('2'*10)
lt = l1[:5] + l2[:5]

但是,当一个列表没有 5 个项目时,新列表将填充另一个列表中的项目。

l1 = list('1'*2)
l2 = list('2'*10)
lt = ['1','1','2','2','2','2','2','2','2','2']

l1 = list('1'*10)
l2 = list('2'*2)
lt = ['1','1','1','1','1','1','1','1','2','2']

该函数应采用包含任意数量项目的列表。这应该很简单,但事实并非如此。

4

1 回答 1

5

您想取较大的一个:列表中的五个项目或足够的项目以将列表填充到所需的长度。

lt = l1[:max(5, 10 - len(l2))] + l2[:max(5, 10 - len(l1))]
于 2012-04-21T15:36:54.590 回答