将int列表与int:
进行比较a = [-1,-1,0,2]
a > 1
我希望得到一个结果:
[False,False,False,True]
我如何在Python3中执行此操作?
答案 0 :(得分:1)
理解会这样做:
[i > 1 for i in a]
否则您可以使用numpy
:
a = np.array([-1,-1,0,2])
a > 1
#[False False False True]
答案 1 :(得分:1)
您可以使用list comprehensions
轻松完成此操作source_arr = [-1,-1,0,2]
condition = 1
print([item > condition for item in source_arr]) #--> [False, False, False, True]
答案 2 :(得分:1)
在原生Python中:
a = [-1,-1,0,2]
bools = [x > 1 for x in a]
>>> [False, False, False, True]
在numpy中你可以使用比你的例子更简单的语法(如果你有数百万的值而不是只有4个,这也会明显加快):
import numpy as np
a = np.array([-1,-1,0,2])
bools = a > 1
>>> array([False, False, False, True])
答案 3 :(得分:1)
更简单的外形
a = [-1,-1,0,2]
b = []
for x in a:
b.append(x>1)
print(b)
答案 4 :(得分:0)
试试这个: -
a = [-1,-1,0,2]
ls = [True if x>1 else False for x in a]
print(ls)
<强>输出: - 强>
[False, False, False, True]
答案 5 :(得分:0)
将lambda
与map
<强>演示:强>
a = [-1,-1,0,2]
print(list(map(lambda x: x > 1, a)))
<强>输出:强>
[False, False, False, True]
答案 6 :(得分:0)
>> a = [-1,-1,0,2]
>> b = 1
>> [x > b for x in a]