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

判断指定值存在于Python字典values中时为何未打印True

问题原因

score_dict.values()返回的是字典所有值组成的可迭代对象,你这个字典的每个值本身是列表类型,整体结构大概是[['Far above average', ...], ['Somewhat above average', ...], ...]。'Far above average' in score_dict.values()的逻辑是判断「这个字符串是否等于字典的某一个值(也就是某一个完整的描述列表)」,显然不成立,所以不会打印True。

正确写法

你需要先遍历所有值对应的列表,判断字符串是否存在于任意一个列表内,两种常用实现方式:

  • 写法1:用any()迭代判断,不需要额外存储所有元素,性能更高
if any('Far above average' in value_list for value_list in score_dict.values()):
    print("True")
  • 写法2:先把所有描述项合并成一个大列表再判断,适合需要多次复用所有描述项的场景
all_desc = [item for value_list in score_dict.values() for item in value_list]
if 'Far above average' in all_desc:
    print("True")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:15:01