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)
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
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))
TA贡献1966条经验 获得超4个赞
def checker(l, thresh=2): return len([i for i in l if i > 0]) >= thresh
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')
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")
添加回答
举报