You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中使用any判断值存在后,如何获取并使用该值?

解决方法

原代码的问题在于any()函数仅返回布尔值(是否存在匹配项),不会保留匹配的密钥对象。遍历结束后key变量指向的是列表最后一个元素,而非匹配的那个密钥。要获取并使用匹配的密钥,需要主动捕获匹配项:

方法1:普通遍历查找

matched_key = None
for key in publicKeys:
    # 计算当前密钥的SHA3_256哈希并与输入值对比
    if SHA3_256.new(key.export_key()).hexdigest() == hashed_pk:
        matched_key = key
        break  # 找到匹配项后终止遍历

if matched_key:
    print(matched_key)  # 打印匹配的密钥
else:
    print("未找到匹配的密钥")

方法2:使用next()配合生成器(更简洁)

# 从生成器中获取第一个匹配的密钥,无匹配时返回None
matched_key = next(
    (key for key in publicKeys if SHA3_256.new(key.export_key()).hexdigest() == hashed_pk),
    None
)

if matched_key:
    print(matched_key)
else:
    print("未找到匹配的密钥")

两种方法都能精准捕获到匹配的密钥,避免原代码中key变量指向错误元素的问题。

内容的提问来源于stack exchange,提问作者bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:50:44