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

Python如何删除分数分组函数返回结果中的空tuple元组

分数分组空等级剔除解决方案

出现空C等级条目的原因是71~80分数区间没有匹配的分数,生成了空元组(),未经过滤直接被打包进返回结果。只需在返回前新增过滤逻辑,剔除分数元组为空的条目即可,修改后完整代码如下:

def convert(list1):
    A = tuple(filter(lambda x:100>=x>=91 ,list1))
    B = tuple(filter(lambda x:81<=x<=90 ,list1))
    C = tuple(filter(lambda x:71<=x<=80 ,list1))
    D = tuple(filter(lambda x:56<=x<=70 ,list1))
    E = tuple(filter(lambda x:0<=x<=56 ,list1))
    x = zip(['A:', 'B:','C', 'D:', 'Fail:'], ([A], [B],[C], [D], [E]))
    # 过滤掉分数元组为空的分组
    filtered_res = filter(lambda item: len(item[1][0]) > 0, x)
    return tuple(filtered_res)

lst = (20, 45, 90, 3, 68, -30, 81, 98, 104, 63, 61)
print(convert(lst))

运行上述代码输出结果如下,完全符合预期:
(('A:', [(98,)]), ('B:', [(90, 81)]), ('D:', [(68, 63, 61)]), ('Fail:', [(20, 45, 3)]))
如果后续需要调整判定逻辑,只需修改filter中的判断条件即可。

内容的提问来源于stack exchange,提问作者יובל דרעי

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:54:05