6 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
您不需要遍歷數(shù)字,只需計(jì)算零并與列表的長度進(jìn)行比較......
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)

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
一個(gè)直接的解決方案是計(jì)算不為 0 的元素的數(shù)量
def checker(lst):
counter = 0
for i in lst:
if (i != 0):
counter += 1
return counter >= 2
更好的解決方案是使用列表推導(dǎo):
def checker(lst):
return len([i for i in lst if i != 0]) >= 2

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
# 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))

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
def checker(l, thresh=2): return len([i for i in l if i > 0]) >= thresh

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
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')

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
你可以這樣做:
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")
添加回答
舉報(bào)