列表理解将布尔值而不是整数放在列表中

Fib*_*cci 3 python python-2.7

我做了一个列表理解,只将小于或等于 5 的数字添加到 b,但是当我运行我的程序时,它输出布尔值而不是整数。

我如何将它们更改为整数。

a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [i <= 5 for i in a]
print b

[True, True, True, True, True, False, False, False, False, False, False]
Run Code Online (Sandbox Code Playgroud)

Kei*_*wan 8

这是实现您想要的正确方法:

b = [i for i in a if i <= 5]
Run Code Online (Sandbox Code Playgroud)

无论比较的结果如何,您的版本都将表达式的结果i <= 5- 这是一个布尔值 - 放入 中每个元素的列表a中。