假设我有一个从1到10的数字列表,我想知道这些数字的平方小于1000,我不关心实际的数字。这是我正在尝试实现的一个简化示例,我想知道单个列表理解是否可以做到这一点。for n in numbers if n ** 2 < 1000]
print(squares_under_1000) # Output: [1, 4, 27, 256] 问题是我需要使用两次实际的平方计算-我需
下面的map-filter链获取一个数字列表并将其加倍,使用一些谓词p对结果进行过滤,然后对剩余的结果进行平方: getNumbers().map(x => x * 2).filter(x => p(x)).map(x => x ** 2) 惯用的Python等效项需要嵌套的列表理解: [y ** 2 for y in [x * 2 for x in getNum