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中的篩選方法計算負數的個數。但此方法同樣需導入外部庫,增加了代碼的複雜度,且相對於其他方法計算速度較慢。
原創文章,作者:EMCML,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/375645.html