1
一個例子:獲取偶數和奇數號碼順序列表
def get_evens_at_back(a_list):
if not a_list:
return []
if a_list[0] % 2 == 1:
return [a_list[0]] + get_evens_at_back(a_list[1:])
return get_evens_at_back(a_list[1:])
print("1.", get_evens_at_back([-1, 2, -3, 4, -2, 3, 5]))
print("2.", get_evens_at_back([1, 2, -3, 4, 7, 4, -6, 3, -1]))
print("3.", get_evens_at_back([-4, -2, 6, 8, 6, 2]))
print("4.", get_evens_at_back([-3, -1, 3, 1, 7, 9]))
print("5.", get_evens_at_back([]))
輸出:
1. [-1, -3, 3, 5]
2. [1, -3, 7, 3, -1]
3. []
4. [-3, -1, 3, 1, 7, 9]
5. []
我試圖獲得與列表中的所有奇數一個新的列表(排序順序)以及列表後面的列表中的所有偶數(按排序順序)。如果列表爲空,則該函數應返回一個空列表。我不確定如何解決該問題。
預期:
1. [-3, -1, 3, 5, -2, 2, 4]
2. [-3, -1, 1, 3, 7, -6, 2, 4, 4]
3. [-4, -2, 2, 6, 6, 8]
4. [-3, -1, 1, 3, 7, 9]
5. []
如果第一個數字是偶數,那麼您只需跳過它並對其餘數字進行遞歸。所以你要刪除所有偶數,而不是將它們移到後面。 – Barmar