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

如何删除字典中值超过指定阈值的键值对

移除字典中值超过阈值的键值对

方法1:字典推导式(推荐,简洁高效)

这是Python中处理这类筛选需求最常用的方式,直接生成新字典,不修改原数据:

# 定义原始字典(建议用my_dict代替myList,避免和列表类型混淆)
my_dict = {'00:00': 24.3, '01:00': 31.22, '02:00': 30.69, '03:00': 30.16, '04:00': 31.04, '05:00': 153.48, '06:00': 140.48, '07:00': 289.78}
threshold = 100.00

# 筛选出值小于等于阈值的键值对,生成新字典
filtered_dict = {key: val for key, val in my_dict.items() if val <= threshold}

print(filtered_dict)
# 输出:{'00:00': 24.3, '01:00': 31.22, '02:00': 30.69, '03:00': 30.16, '04:00': 31.04}

方法2:直接修改原字典(遍历键的副本)

如果需要直接修改原字典,注意不能在遍历原字典的同时删除键,需要遍历键的副本:

my_dict = {'00:00': 24.3, '01:00': 31.22, '02:00': 30.69, '03:00': 30.16, '04:00': 31.04, '05:00': 153.48, '06:00': 140.48, '07:00': 289.78}
threshold = 100.00

# 遍历字典键的列表副本,避免遍历过程中修改字典引发错误
for key in list(my_dict.keys()):
    if my_dict[key] > threshold:
        del my_dict[key]

print(my_dict)
# 输出:{'00:00': 24.3, '01:00': 31.22, '02:00': 30.69, '03:00': 30.16, '04:00': 31.04}

注意事项

  • 你的变量名myList其实是字典类型,建议改为my_dict这类更直观的名字,避免和Python的列表(list)类型混淆,提升代码可读性。
  • 两种方法都能实现需求,方法1更推荐,因为它不修改原字典,避免意外破坏原始数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:51:20