繁体   English   中英

使用Python中的逻辑运算符获取可被给定除数整除的数字

[英]Get numbers divisible by a given divisor using logical operators in Python

我想得到一个逻辑答案(TRUE / FALSE)列表中的数字是否可以被给定的除数整除。

这就是我在R中这样做的方式。

array = (1:100)
i = 3

sel <- !as.logical(array %% i) 

print(sel)

结果如下:

[1]  FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE
[15] TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE
[29] FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE
[43] FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE
[57] TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE
[71] FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE
[85] FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE
[99] TRUE FALSE

是否有可能在Python中获得类似的结果?

你可以使用numpy做类似的事情

>>> import numpy as np
>>> a = np.arange(1, 101)
>>> i = 3
>>> a % i == 0
array([False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True,
       False, False,  True, False, False,  True, False, False,  True, False], dtype=bool)

您可以使用列表理解来获取范围中每个项目的mod

>>> [x % 3 == 0 for x in range(1, 101)]
[False, False, True, False, False, True, False, ...]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM