Python3,*args,在列表中打印输出

Python3,*args,在列表中打印输出,python,args,Python,Args,我想在列表中将输出打印为[8,6,4],但它将输出为[8]、[6]、[4]。如果我输出最后一条print语句,只是打印(偶数),它显然没有列出输出。您的问题是每次输入If时都要打印。 相反,您希望在每次进入循环时将您的号码添加到列表中,然后将其打印: def even_number(*args): for even in args: if even%2==0: even print(list(str(even)),end='

我想在列表中将输出打印为
[8,6,4]
,但它将输出为
[8]、[6]、[4]
。如果我输出最后一条print语句,只是
打印(偶数)
,它显然没有列出输出。

您的问题是每次输入If时都要打印。 相反,您希望在每次进入循环时将您的号码添加到列表中,然后将其打印:

def even_number(*args):
    for even in args:
        if even%2==0:
            even
            print(list(str(even)),end='')
编辑:
顺便说一句,其他人的答案是正确的。最好使用理解列表。我不会删除我的答案,以便您了解错误所在。

如果要将结果打印为列表,您需要在打印之前收集结果,即:

def even_number(*args):
     my_list = list()
     for even in args:
        if even%2==0:
            my_list.append(even)
     print(my_list)
def even_number(*args):
  print([i for i in args if i % 2 == 0])

只需将列表与以下内容结合使用:

def even_number(*args):
    evens = [a for a in args if a % 2 == 0]
    print(evens)
# test:
even_number(*range(10))  # [0, 2, 4, 6, 8]
简单代码

def even_number(*args):
    even = [n for n in args if n % 2 == 0]
    print(even)
带理解列表

def even_number(*args):
    result = []
    for even in args:
        if even % 2 == 0:
            result.append(even)
    return result
用于使用偶数函数

def even_number(*args):
    result = [x for x in args if x%2==0]
    return result

与其告诉人们忽略缩进,你介意修正它吗?在这里输入缩进时,缩进变得很奇怪。这在IDE中是很常见的。另外,您是否认为像“Python3,*args”这样的标题对于您的问题非常具体,并且具有描述性?我已经看到你倾向于使用简短的标题,而这些标题对于实际问题没有任何线索。这不太好,伊姆霍。我加上了其余的部分,我想现在更具描述性了。谢谢你的建议。这也会打印出更多的输出。最后一个是我想要的。对不起,我不明白你的评论。你能澄清一下“最后一个是我想要的吗”?
print even_number(range(10))