我有一个嵌套循环,我试图提高效率。 我需要找到一种方法来加速执行 - 我认为问题是我需要散列两个值来进行比较以找到正确的值。
有更简单的方法吗?
我已经尝试了不同的连接值的方法 - 在不同的点分配值,但我没有看到任何真正的时间节省。
for val1 in text_list:
for val2 in text_list:
hashed_text = hashlib.sha256(val1.encode() + val2.encode()).hexdigest()
if hashed_text == expected_value:
return val1, val2
输入文件是1K +条目,需要约1秒我需要找到一种方法来减少执行时间。
如果您添加了一些示例,我可以测试并对此进行基准测试。没有它,这里有一些未经测试可能会有所帮助:它减少了val1
的哈希计算:
for val1 in text_list:
h = hashlib.sha256(val1.encode())
for val2 in text_list:
h2 = h.copy()
h2.update(val2.encode())
hashed_text = h2.hexdigest()
if hashed_text == expected_value:
return val1, val2
但正如我所说,我不能测试这是否有助于你的情况......