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

如何通过循环提取嵌套列表中journey_time<600的活动数据

批量提取嵌套列表中journey_time小于600秒的客户活动数据

核心思路

遍历所有客户,对每个客户的活动序列逐一检查,筛选出journey_time小于600秒的活动项,同时保留对应的活动code。

Python 实现示例

假设你的数据结构是嵌套字典+列表的形式,以下代码可直接复用:

# 存储所有符合条件的活动
filtered_activities = []

# 遍历每个客户的活动数据
for customer in homepage1["customer_data"]["activity_list"]:
    # 获取当前客户的时间序列和活动码序列
    time_sequence = customer["journey_time"]
    code_sequence = customer["code"]
    
    # 一一匹配时间和活动码,筛选符合条件的项
    for journey_time, code in zip(time_sequence, code_sequence):
        if journey_time < 600:
            filtered_activities.append({
                "code": code,
                "journey_time": journey_time
                # 若需要区分客户,可添加客户标识字段,比如"customer_id": customer.get("customer_id")
            })

分组保留客户维度的版本

如果需要按客户分组存储筛选结果(而非混存所有活动),可以用以下写法:

# 按客户分组存储筛选后的活动
grouped_filtered_data = []

for customer in homepage1["customer_data"]["activity_list"]:
    customer_valid_activities = []
    time_sequence = customer["journey_time"]
    code_sequence = customer["code"]
    
    for journey_time, code in zip(time_sequence, code_sequence):
        if journey_time < 600:
            customer_valid_activities.append({
                "code": code,
                "journey_time": journey_time
            })
    
    # 只保留有有效活动的客户数据(可选,按需删除此判断)
    if customer_valid_activities:
        grouped_filtered_data.append(customer_valid_activities)

注意事项

  • 确保每个客户的journey_time和code序列长度一致,否则zip()会自动截断到较短序列的长度
  • 如果使用其他编程语言(如JavaScript),核心逻辑完全一致:遍历客户列表→遍历活动序列→条件筛选→存储结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:20:22