📜  拆分奇数和偶数 (1)

📅  最后修改于: 2023-12-03 14:54:37.472000             🧑  作者: Mango

拆分奇数和偶数

本文旨在介绍如何使用程序拆分奇数和偶数。

方法一:使用循环
def split_odd_even(nums):
    odds = []
    evens = []
    for num in nums:
        if num % 2 == 0:
            evens.append(num)
        else:
            odds.append(num)
    return odds, evens

解释:该函数接受一个列表 nums ,循环遍历其中的每个数,判断其是否为偶数,若是则将其添加到 evens 列表中,否则添加到 odds 列表中。最终返回两个列表。

方法二:使用 filter
def is_odd(num):
    return num % 2 == 1

def is_even(num):
    return num % 2 == 0

def split_odd_even(nums):
    odds = list(filter(is_odd, nums))
    evens = list(filter(is_even, nums))
    return odds, evens

解释:该函数定义了两个筛选函数 is_oddis_even,分别将传入的数字与 1 和 2 取余,从而得到奇数和偶数。接着,使用内置函数 filter 对列表 nums 筛选出奇数和偶数,最终返回两个列表。

方法三:使用列表推导式
def split_odd_even(nums):
    odds = [num for num in nums if num % 2 == 1]
    evens = [num for num in nums if num % 2 == 0]
    return odds, evens

解释:该函数使用列表推导式一行代码就能拆分奇数和偶数,代码简单易懂。

总结

以上三种方法均能拆分奇数和偶数,具体使用取决于个人喜好和实际情况。对于小型列表,三种方法的效率差别不大,但对于大型列表,使用 filter 的方法比较高效。