一直想在python语言来完成这个功能,目前还没有找到相应的方法,除了循环元素进行判断。想想python可能就没有相应的数组批量操作,因为不是为了向量和数组而设计的语言。像tensorflow和numpy对数组进行操作就可以完成该目标,以tensorflow为例,一个向量a 和向量a2,判断这两个数组内对应元素相等且等于1(也可以是别的数字,这里以1为例,因为1可以为True的整数形式,因此该特例实现目标可以直接逻辑与运算,该例展示的是可以判断其他数值的方法)
import tensorflow as tf
a = tf.constant([1,0,0,1,0,0,1,0,0,1,1,1])
b = tf.ones_like(a)
# b = b * number 若判断目标为除了0、1外的其他数值,例如number,则可以进行该操作
e = tf.equal(a,b)
a2 = tf.constant([1,1,0,1,1,1,1,1,1,1,1,0])
e2 = tf.equal(a2,b)
result = e & e2
with tf.Session() as sess:
t1, t2, t3 = sess.run([e, e2, result])
print(t1, t2, t3, e3)
输出结果为:
[ True False False True False False True False False True True True] [ True True False True True True True True True True True False] [ True False False True False False True False False True True False]
最后一个list就是表示每个元素相等且等于某个数值的bool值,根据这个可以进行进一步的统计。