列表理解建议

sun*_*304 2 python list-comprehension

>>> odd,even=[ ],[ ]
>>> [even.append(x) if x%2==0 else odd.append(x) for x in range(51)]
[None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
>>> odd
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49]
Run Code Online (Sandbox Code Playgroud)

我的问题:是否有可能在列表理解陈述中分离奇数和偶数,即使没有odd, even = [], []在开头声明?

Joh*_*ooy 7

最好只循环一次.这是6行,但它们是快速的线条

odd, even=[ ], [ ]
for x in range(51):
    if x%2:
        odd.append(x)
    else:
        even.append(x)
Run Code Online (Sandbox Code Playgroud)


jam*_*lak 6

even,odd = [],[]
for x in range(51): 
    (odd if x%2 else even).append(x)
Run Code Online (Sandbox Code Playgroud)