0
点赞
收藏
分享

微信扫一扫

【Numpy】实现0变1和1变0即取反操作


问题

方法

import numpy as np

# (1)
a = np.random.randint(0, 2, 10)
print(a) # [1 1 1 0 0 1 1 1 0 0]
print(np.invert(a)) # [-2 -2 -2 -1 -1 -2 -2 -2 -1 -1]

b = a.astype(np.bool)
b = ~b
print(b) # [ True False False False False False False True True True]

c = b.astype(np.int32)
print(c) # [1 0 0 0 0 0 0 1 1 1]

# (2) 如果针对某一位取反
d = a[5].astype(np.bool)
d = ~d
a[5] = d.astype(np.int32)
print(a[5])


举报

相关推荐

C/C++ 任意位设置0/1,位取反

0 条评论