推导式别写太复杂:一个可读性边界

一行能读完就用推导式

squares = [x * x for x in range(10) if x % 2 == 0]

超过两层就该拆

# 不好读
result = [[y for y in row if y] for row in matrix if any(row)]

# 拆开更好
result = []
for row in matrix:
    if not any(row):
        continue
    result.append([y for y in row if y])