亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何檢查我的列表中是否有兩個以上的值不同于 0?

如何檢查我的列表中是否有兩個以上的值不同于 0?

繁花如伊 2022-10-06 18:37:16
如何創建一個函數,True如果我的列表中有 2 個或更多項目不同于,則0返回False,如果我的列表中的項目少于 2 個,則返回0?(不正確的代碼,所以你明白了)list=[0, 0, 0, 0, 0, 1, 0 , 4]def checker:    if > 2 items in list are > 0:        return True    else:        return False我怎么能在 Python 中真正做到這一點?
查看完整描述

6 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

您不需要遍歷數字,只需計算零并與列表的長度進行比較......


my_list=[0, 0, 0, 0, 0, 1, 0 , 4]

def checker(my_list):

    return len(my_list) - my_list.count(0) >= 2 

checker(my_list)


查看完整回答
反對 回復 2022-10-06
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

一個直接的解決方案是計算不為 0 的元素的數量


def checker(lst):

    counter = 0

    for i in lst:

        if (i != 0):

            counter += 1

    return counter >= 2

更好的解決方案是使用列表推導:


def checker(lst):

    return len([i for i in lst if i != 0]) >= 2


查看完整回答
反對 回復 2022-10-06
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

# your code goes here

data=[0, 0, 0, 0, 0 , 0 , 4]

def checker(data):

    return len(list(filter(lambda x: x!=0, data)))>=2


print(checker(data))


查看完整回答
反對 回復 2022-10-06
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

def checker(l, thresh=2):  
  return len([i for i in l if i > 0]) >= thresh


查看完整回答
反對 回復 2022-10-06
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

list1=[0, 0, 0, 0, 0, 1, 0 , 4]

if len([x for x in list1 if x!=0 ])>1:

     print('True')

else:

     print('False')


查看完整回答
反對 回復 2022-10-06
?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

你可以這樣做:


lst=[0, 0, 0, 0, 0, 1, 0 , 4]


if sum(map(bool,lst)) >= 2:

    print("2 or more non-zero")

else:

    print("fewer than 2 non-zero")


查看完整回答
反對 回復 2022-10-06
  • 6 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號