好吧,让我们假设我们有一个列表 [1, 3, 5, 7, 9, 11, 13],我想制作一个 python 程序,它将列表分成最大数量的组,在偶数或奇数和之间交替。(即使总是要先走)例如上面的列表可以分为:
[1,3] , [5,7,9] , [11,13] 偶数, 奇数, , 偶数
如果列表是: [11, 2, 17, 13, 1, 15, 3] 我们将有:
[2], [11], [13,1], [15], [17,3]
这样,我们不能进一步划分,并且我们有最大的组数。我一直在考虑各种解决方案,例如将偶数放在首位,然后继续分组。到目前为止,我的代码将所有整数列表分为偶数列表和奇数列表。
有没有人对如何使用偶数和奇数整数来计算最终列表中应该有多少偶数和奇数组有任何想法。
编辑:列表可以有任何小于 100 的数字,只要它们不重复,它们不一定是连续的。
这是到目前为止我一直在尝试使用的结构(它不完整,但你可以看看它)
while True:
itera = []
if count % 2 == 0 and len(evens) > 0:
x = evens[0]
itera.append(x)
lines.append(itera)
evens.remove(x)
if count % 2 == 1 and len(odds) > 0:
x = odds[0]
itera.append(x)
lines.append(itera)
odds.remove(x)
if len(odds) == 0: …Run Code Online (Sandbox Code Playgroud)