首页 > 编程知识 正文

Python列表中负数的个数

时间:2023-11-20 19:27:47 阅读:292222 作者:AIPH

Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。

一、使用循环遍历


lst = [1, -2, 3.5, -4, 5, -6, -7, 8, -9]

count = 0
for i in lst:
    if i < 0:
        count += 1

print("负数的个数为:", count)

以上代码使用for循环遍历列表,当列表中的元素小于0时,计数器count加1,最后输出负数的个数。这种方法简单易懂,但当列表元素数量很大时,效率较低。

二、使用列表推导式


lst = [1, -2, 3.5, -4, 5, -6, -7, 8, -9]

count = len([i for i in lst if i < 0])

print("负数的个数为:", count)

以上代码使用列表推导式,在一行代码中便可实现。这种方法与第一种方法相比,计算速度更快。

三、使用filter过滤器


lst = [1, -2, 3.5, -4, 5, -6, -7, 8, -9]

count = len(list(filter(lambda x: x < 0, lst)))

print("负数的个数为:", count)

以上代码使用filter过滤器,将列表中小于0的元素筛选出来,再计算个数。这种方法也比较快速,但相对于第二种方法而言,可读性稍差。

四、使用numpy库


import numpy as np

lst = [1, -2, 3.5, -4, 5, -6, -7, 8, -9]

arr = np.array(lst)

count = len(arr[arr < 0])

print("负数的个数为:", count)

以上代码使用numpy库,将列表转化为numpy数组,再使用numpy数组中的方法轻松计算负数的个数。但此方法需导入外部库,增加了代码的复杂度。

五、使用pandas库


import pandas as pd

lst = [1, -2, 3.5, -4, 5, -6, -7, 8, -9]

df = pd.DataFrame({"a":lst})

count = len(df[df["a"] < 0])

print("负数的个数为:", count)

以上代码使用pandas库,将列表转化为pandas的DataFrame对象,并使用DataFrame中的筛选方法计算负数的个数。但此方法同样需导入外部库,增加了代码的复杂度,且相对于其他方法计算速度较慢。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。