如何在python3中比较int和int列表

时间:2018-05-03 10:01:38

标签: python python-3.x list

将int列表与int:

进行比较
a = [-1,-1,0,2]
a > 1

我希望得到一个结果:

[False,False,False,True]

我如何在Python3中执行此操作?

7 个答案:

答案 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)

lambdamap

一起使用

<强>演示:

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]