【发布时间】:2018-04-16 07:46:11
【问题描述】:
我有一个未排序的偶数和奇数列表。我需要按排序顺序分隔奇数和偶数。
例如:
List = [5,6,4,7,11,14,12,1,3]
预期输出:
[4,6,12,14,1,3,5,7,11]
我的程序将奇数和偶数分开。
L = [5,6,4,7,11,14,12,1,3]
def segregateEvenOdd(L):
left,right = 0,len(L)-1
while left < right:
while (L[left]%2==0 and left < right):
left += 1
while (L[right]%2 == 1 and left < right):
right -= 1
if (left < right):
L[left],L[right] = L[right],L[left]
left += 1
right = right-1
print segregateEvenOdd(L)
output : [12, 6, 4, 14, 11, 7, 5, 1, 3]
我正在尝试使用插入排序对列表进行排序,但无法获得正确的输出。任何方法都可以轻松排序
【问题讨论】:
-
使用
filter、lambda和sorted创建两个排序列表,然后将它们与+连接起来。