我在进行异或搜索时遇到问题。我有一个由二进制值组成的数组。我的列表包含 1000 个不同的二进制值,我想计算双循环在列表中找到一个元素所需的时间。因此,对于双循环搜索,我希望它通过循环 [(1) + (2) +(3)+...+(1000)] = 500500 次。[n(n+1) / 2]
我在以下代码中使用 bitwise_xor
from numpy import bitwise_xor
count = 0
for word1 in listOutTextnoB:
for word2 in listOutTextnoB:
count+=1
if bitwise_xor(word1,word2)==0:
break
print "count"
不幸的是,当我打印 count 时,我得到 count = 1,000,000
如果我将 if 语句更改为
if bitwise_xor(word1,word2):
break
计数为 1000
我也尝试过:
if word1^word2==0:
break
但它给了我“TypeError:^:'str'和'str'不支持的操作数类型”
一个工作示例是:1101110111010111011101101110110010111100101111001 XOR 1101110111010111011101101110110010111100101111001 它应该给我 0 并退出内循环
代码有什么问题?