*args返回一个列表,该列表只包含那些偶数的参数



我正在学习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

相关内容

最新更新