For和if-in-print python
我想把这段代码写成一行?我怎么写呢 请帮帮我For和if-in-print python,python,list-comprehension,Python,List Comprehension,我想把这段代码写成一行?我怎么写呢 请帮帮我 b=list(input().split()) a=[] for c in b: if int(c)%6==0 and ((b.index(c))+1)%6==0: a.append(c) print(*a) 正如juanpa.arrivillaga所指出的,让代码更加清晰,而不是将其最小化为一行 但接受的挑战是: print(*filter(lambda x: int(x)%6==0, input().split()[5:
b=list(input().split())
a=[]
for c in b:
if int(c)%6==0 and ((b.index(c))+1)%6==0:
a.append(c)
print(*a)
正如juanpa.arrivillaga所指出的,让代码更加清晰,而不是将其最小化为一行 但接受的挑战是:
print(*filter(lambda x: int(x)%6==0, input().split()[5::6]))
print(*[c代表b中的c,如果int(c)%6==0和((b.index(c))+1)%6==0])
但是不要试图将所有内容都放在一行上,而是尝试使代码更具可读性。欢迎使用。请阅读和阅读该页面上的其他链接。你所说的“一排”是什么意思?你是说在一行作为一个列表?为什么?请注意,b.index(c)
如果列表中有重复项,则不会达到预期效果。它将返回第一个副本的索引,而不是当前索引。使用enumerate()
获取实际索引。