如何按规则提取事件信息:值>15取每第3个,值<15全取?
按规则提取事件信息的实现方案
核心思路
- 给数值大于15的事件单独维护一个计数器,用来追踪它是第几个符合条件的事件
- 遍历所有事件时:
- 数值小于15的事件直接提取
- 数值大于15的事件,每累计到第3个时才提取
Python 实现示例
# 用字典模拟事件(实际项目中可以替换成你的事件对象) events = [ {"value": 10}, {"value": 20}, {"value": 25}, {"value": 30}, {"value": 12}, {"value": 18}, {"value": 22}, {"value": 28}, {"value": 8} ] extracted_events = [] over_15_counter = 0 for event in events: event_value = event["value"] if event_value < 15: extracted_events.append(event) elif event_value > 15: over_15_counter += 1 # 只保留第3、6、9...个大于15的事件 if over_15_counter % 3 == 0: extracted_events.append(event) # 查看提取结果 for item in extracted_events: print(item)
代码说明
over_15_counter专门统计数值大于15的事件的出现次数- 取模运算
% 3 == 0是判断当前事件是否为第3个、第6个……符合条件的事件 - 逻辑清晰,适合初学者理解和修改,你可以把字典替换成实际项目中的事件结构(比如类实例、其他数据格式)
内容的提问来源于stack exchange,提问作者somerandomguest
相关产品推荐
相关产品推荐

