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

Python使用re.groupdict()时如何筛选botprob大于0.7的输出字典

解决方法

你只需在获取groupdict()结果后,将botprob字段处理为浮点数值再添加判断逻辑即可,修改后的代码如下:

import re

def somefunction(pattern, tweet):
    pattern = r"^(?P<username>.*?)(?:\|{2}[^|]+){2}\|{2}(?P<botprob>.*?)(?:\|{2}|$)"
    filtered_res = []
    for paper in tweet:
        for item in re.finditer(pattern, paper):
            current_dict = item.groupdict()
            # 去除botprob前后空格后转浮点,判断是否大于0.7
            if float(current_dict['botprob'].strip()) > 0.7:
                filtered_res.append(current_dict)
    return filtered_res

说明

  • 你原代码没有接收item.groupdict()的返回值,也没有结果返回逻辑,上述代码用列表存储所有符合条件的字典,最终统一返回
  • 必须先把botprob字符串的首尾空格去除再转浮点类型,如果直接用字符串做比较会出现逻辑错误
  • 按你的样例输入,调用该函数后返回的结果只有1条符合要求的字典:{'username': 'dpsisi ', 'botprob': ' 0.8300337045 '}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:09:04