-1

所以我目前有一个脚本,它从文本文件的内容生成散列并将它们保存到字典中,然后它进入第二个文本文件并从那里生成散列并将它们与所述字典进行比较。我正在尝试实现某种不完全匹配;例如,我想编程一些容忍度:例如,我想让哈希中的每三个元素对匹配协议不重要,所以如果存在不匹配,它将继续不受阻碍地迭代。是否有可能做到这一点?

此外,这是一个单独的案例,是否可以确定条件不匹配?例如,如果不匹配,有几个元素仍然可以被认为是“匹配”,比如我想要某个位置的元音,但出现哪个元音并不重要。

总之,我正在努力使我的脚本要么

检查,检查,无视,检查,检查,无视等。

或者

检查,检查,条件不匹配?,检查,检查,条件不匹配?等。

沿着哈希。这是可行的吗?

编辑:我想这不是真正的哈希检查,而是更多的字符串比较。这是我正在尝试调整的相关代码:

# hash table for finding hits
lookup = defaultdict(list)

# store sequence hashes in hash table
for i in xrange(len(file1) - hashlen + 1):
    key = file1[i:i+hashlen]
    lookup[key].append(i)

# look up hashes in hash table
hits = []
for i in xrange(len(file2) - hashlen + 1):
    key = file2[i:i+hashlen]

    # store hits to hits list
    for hit in lookup.get(key, []):
        hits.append((i, hit))

其中 hashlen 是我想要生成的哈希的长度(因此是缓冲区,所以我不会离开文件的末尾。

4

1 回答 1

0

正如所评论的,哈希没有顺序。您可以考虑使用 OrderedDict。

但也许这段代码可以帮助你。

skip_rate = 3

for index, (key, value) in enumerate(your_hash.items()):
    if index % skip_rate != 0:
        do_something(key, value)
于 2013-09-16T06:44:33.430 回答