是否可以从理解中将结果编译成唯一列表?

Zac*_*aro 2 python

上下文将整数列表拆分为它们自己的偶数和奇数列表.

    even = []
    odd = []
    for i in my_list:
        if i % 2 == 0:
            even.append(i)
        else:
            odd.append(i)
Run Code Online (Sandbox Code Playgroud)

有没有办法把上面变成一个漂亮,紧凑的列表理解...?

Pav*_*sov 5

并非没有使用副作用并丢弃结果.你可以这样做:

even = []
odd = []
for i in my_list:
    (odd if i % 2 else even).append(i)
Run Code Online (Sandbox Code Playgroud)

这个问题通常被称为分区列表,您可以通过搜索SO 找到一些解决方案,但没有一个更清晰(在Python中).