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))