仅返回给定列表中的偶数

问题描述 投票:0回答:2

定义一个函数,该函数接受任意数量的参数并返回仅包含偶数个参数的列表:

def myfunc(*args):
    mylist = []

    for i in range(0,len(args)):
        if args[i] %2 == 0:
            mylist.append(args[i])
    return mylist

此代码似乎很长,有没有办法使它更有效使用* args或* kwargs ??

python args kwargs
2个回答
4
投票

在列表理解内使用迭代器

return [i for i in args if i % 2 == 0]

0
投票

改为执行此操作:

args[0::2]

您将获得所有替代索引,如下所示:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.