[英]Using the logical “or” in conditional indexing in python arrays
我想更改数组中某些元素的值。 例如,我想的是具有值的所有元素1
, 2
或3
至所有被映射到值1
。
如何将“或”运算符用于此目的? 或任何会做我想要的操作员。 我已经尝试了下面的代码以及其他一些不同的东西,但是它们都没有提供我想要的东西:
samples = [1,2,3,4,5,6,7,8]
print samples
samples[samples == 1 or samples == 2 or samples == 3] = 1
print samples
我需要的输出是:
[1,1,1,4,5,6,7,8]
使用or
;的示例 这并不比公认的答案更好,除非您正在打代码高尔夫:)
samples = [int(i in (1, 2, 3)) or i for i in samples]
这利用了int(True)
返回1
的事实。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.