第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 filter() 過濾“無”輸出 Python

使用 filter() 過濾“無”輸出 Python

桃花長相依 2021-09-01 14:10:40
嘗試過濾“無”輸出時出現(xiàn)錯誤,在 Python 中使用過濾器函數(shù)時,這是我的代碼:def my_function(x):if (x % 2 == 0):    x=filter(None, x)    return(x)for x in range(1, 10):    sum=sum+(my_function(x))    print(sum)并且 Python 無法求和,因為無法刪除 None 輸出,因為它正在“添加”這個None2None4None6None8None而不是這個2468
查看完整描述

2 回答

?
Cats萌萌

TA貢獻1805條經(jīng)驗 獲得超9個贊

這里有幾個錯誤。首先,不要使用sum因為是一個內(nèi)置的python 函數(shù)名。的,filter期待一個迭代與工作和功能。None不是一個函數(shù),它將使用該identity函數(shù)(它返回它所采用的相同值)(@bro-grammer 的提示)。由于 x 不是可迭代的,因此您不能對其使用過濾器。


你想檢查是否x是偶數(shù):


def my_function(x):

    if (x % 2 == 0):

        return True

    return False


sumation = 0

for x in range(1, 10):

    if my_function(x):

        sumation += x

print(sumation)

使用實際filter和的另一個選項sum是:


>>> def my_function(x):

...     if (x % 2 == 0):

...         return True

...     return False

... 

>>> sumation = sum(filter(my_function, range(1, 10)))

>>> sumation

20

這樣做的pythonic方法是使用生成器和sum:


>>> sum(x for x in range(1, 10) if x % 2 == 0 )

20


查看完整回答
反對 回復 2021-09-01
?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

我猜你試圖以錯誤的方式使用過濾器功能。您可以使用此代碼作為示例:


def my_function(x):

    if (x % 2 == 0):

        return True

    else:

        return False


alist = filter(my_function,list(range(1,10)))

print(sum(alist))

希望能幫助到你


查看完整回答
反對 回復 2021-09-01
  • 2 回答
  • 0 關注
  • 322 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號