[英]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.