本文将介绍如何使用Python编写一个函数,用于统计给定列表中负数的个数。
一、使用状态变量
在这个方法中,我们可以使用一个变量来记录负数的个数,然后遍历列表中的每个元素,如果元素小于0,则将计数变量加1。
def count_negative_numbers(nums):
count = 0
for num in nums:
if num < 0:
count += 1
return count
通过调用count_negative_numbers()
函数并传入一个列表作为参数,即可得到列表中负数的个数。
二、使用列表解析
Python的列表解析使得代码更简洁明了。我们可以使用列表解析来筛选出所有负数,然后返回列表的长度即可。
def count_negative_numbers(nums):
negatives = [num for num in nums if num < 0]
return len(negatives)
这种方法将列表中所有满足条件的元素筛选出来,并存储在一个新的列表中。然后我们只需返回新列表的长度即可。
三、使用lambda函数和内置函数filter()
Python的内置函数filter()
和lambda
函数的结合可以更加简洁地实现这个功能。
def count_negative_numbers(nums):
negatives = list(filter(lambda num: num < 0, nums))
return len(negatives)
这个方法使用了lambda
函数来定义一个筛选条件,并使用filter()
函数来筛选出满足条件的负数。最后将结果转换为列表,并返回列表的长度。
四、测试示例
nums = [-2, 5, -8, 0, 3, -1]
print(count_negative_numbers(nums)) # Output: 3
通过运行以上代码,我们可以得到列表[-2, 5, -8, 0, 3, -1]
中负数的个数为3。