上下文将整数列表拆分为它们自己的偶数和奇数列表.
even = []
odd = []
for i in my_list:
if i % 2 == 0:
even.append(i)
else:
odd.append(i)
Run Code Online (Sandbox Code Playgroud)
有没有办法把上面变成一个漂亮,紧凑的列表理解...?
并非没有使用副作用并丢弃结果.你可以这样做:
even = []
odd = []
for i in my_list:
(odd if i % 2 else even).append(i)
Run Code Online (Sandbox Code Playgroud)
这个问题通常被称为分区列表,您可以通过搜索SO 找到一些解决方案,但没有一个更清晰(在Python中).