我正在学习python,在一个练习中,我需要编写一个函数,该函数接受任意数量的参数,并返回一个仅包含偶数参数的列表。
我知道我的代码错了:(但是这个代码怎么了?(
def myfunc(*args):
for n in args:
if n%2 == 0:
return list(args)
myfunc(1,2,3,4,5,6,7,8,9,10)
进行列表理解,从args
中选择符合我们选择标准的元素:
def myfunc(*args):
return [n for n in args if n%2 == 0]
print(myfunc(1,2,3,4,5,6,7,8,9,10))
# [2, 4, 6, 8, 10]
这也可能有所帮助,但是,前面的注释看起来更高级:
def myfunc(*args):
lista = []
for i in list(args):
if not i % 2:
lista.append(i)
return lista
选择偶数
def myfunc(*args):
abc = []
for n in args:
if n%2==0:
abc.append(n)
return abc
def myfunc(*args):
mylist = []
for x in list(args):
if x % 2 == 0:
mylist.remove(x)
return mylist
def myfunc(*args):
even=[]
for n in args:
if n %2==0:
even.append(n)
else:
pass
return even
myfunc(1,2,3,4,8,9)
def myfunc(*args):
#solution 1
# Create an empty list
mylist = []
for number in args:
if number %2 == 0:
mylist.append(number)
else:
pass
# return the list
return mylist
#solution 2
# Uses a list comprehension that includes the logic to find all evens and the list comprehension returns a list of those values
# return [n for n in args if n%2 == 0]
您需要创建一个空列表来包含偶数。还要将参数转换为列表。然后将偶数追加到新创建的列表中。
def myfunc(*args):
new_list = []
for num in list(args):
if num % 2 == 0:
new_list.append(num)
else:
pass
return new_list
def myfunc(*args):
return [x for x in args if not x&1]
def myfunc(*args):
x=[]
for i in list(args):
if i%2==0:
x.append(i)
return x