gpt4 book ai didi

Python hashlib - 列表理解的更新和摘要

转载 作者:行者123 更新时间:2023-12-01 04:12:22 24 4
gpt4 key购买 nike

我想做一个列表理解,对两个列表中的元素进行哈希处理。我以为它会是这样的:

hashes = [hashlib.md5().update(a + b).digest() for a, b in zip(f,l)]

(假设 fl 中的元素已正确编码)

我无法做到这一点,我需要结合使用辅助函数

def update_digest(s):
h = hashlib.md5()
h.update(s)
return h.digest()

似乎 update() 方法没有返回用于顺序调用的对象实例。我想做一些类似于 'BOB '.strip().lower()

的事情

显然,我唯一的动机是在列表理解中使用它。

有办法做到这一点吗?

如果不是,为什么 update() 不返回对象的实例?我觉得有一些我不知道的关于哈希的东西禁止它......

最佳答案

update 方法不返回任何内容,它只是更新调用它的对象。这就是它的设计方式。

但是您可以省略更新并将要散列的数据直接提供给构造函数,因此您不需要辅助函数:

hashlib.md5("foobar").digest()

您的调用可能如下所示:

hashes = [hashlib.md5(a+b).digest() for a, b in zip(f,l)]

关于Python hashlib - 列表理解的更新和摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34755263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com