📅  最后修改于: 2023-12-03 15:12:02.967000             🧑  作者: Mango
在编程中,经常需要计算一个整数序列中的偶数和奇数的数量。下面介绍几种常用的方法。
迭代计算是比较基本和常见的方法,其原理是遍历整数序列,统计偶数和奇数的数量。
def count_even_odd1(numbers):
even_count = 0
odd_count = 0
for num in numbers:
if num % 2 == 0:
even_count += 1
else:
odd_count += 1
return even_count, odd_count
Python提供了filter()
函数,可以过滤出整数序列中的奇数或偶数,再用len()
函数统计数量。
def count_even_odd2(numbers):
even_count = len(list(filter(lambda n: n % 2 == 0, numbers)))
odd_count = len(list(filter(lambda n: n % 2 == 1, numbers)))
return even_count, odd_count
列表推导式是Python中比较优雅的语法,可以快速生成一个新的列表。利用列表推导式,可以一行代码实现对整数序列中偶数和奇数的统计。
def count_even_odd3(numbers):
even_count = len([num for num in numbers if num % 2 == 0])
odd_count = len([num for num in numbers if num % 2 == 1])
return even_count, odd_count
>>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> count_even_odd1(numbers)
(4, 5)
>>> count_even_odd2(numbers)
(4, 5)
>>> count_even_odd3(numbers)
(4, 5)