如果列表中有偶数,则返回第一个,如果没有偶数,则返回-1。 例如:
>>> first_even([5, 8, 3, 2])
8
>>> first_even([7, 1])
-1
我尝试了一些能够返回第一个但不知道-1的函数。请任何人给我一个建议。
答案 0 :(得分:2)
您可以使用next()
-
def first_even(lst):
return next((e for e in lst if e%2==0),-1)
示例运行 -
>>> def first_even(lst):
... return next((e for e in lst if e%2==0),-1)
...
>>> first_even([5, 8, 3, 2])
8
>>> first_even([7, 1])
-1
答案 1 :(得分:0)
您可以使用for
else
>>> def first_even(x):
for i in x:
if i%2 == 0:
return i
else:
return -1
>>> first_even([5, 8, 3, 2])
8
>>> first_even([7, 1])
-1