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

Python中range列表元素访问及唯一值统计报错问题

报错原因

  • 原calculate函数的遍历逻辑存在基础错误:for l in events遍历得到的l本身就是events列表中存储的range对象,用非整数的range对象作为列表索引执行events[l],自然会触发list indices must be integers or slices, not range的类型报错。
  • 原逻辑直接将range对象存入集合,只会存入range实例本身,不会自动展开range包含的所有整数元素,无法实现统计唯一数字的需求。

修正方案

get_input函数逻辑无需改动,仅需要修改calculate函数的遍历与集合操作逻辑即可,修正后代码如下:

def calculate(events):
    unique_days = set()
    for event_range in events:
        # update方法支持接收可迭代对象,自动将range内所有整数加入集合
        unique_days.update(event_range)
    return len(unique_days)

完整调用示例

if __name__ == "__main__":
    events = get_input()
    print("唯一元素总个数为:", calculate(events))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:06:03