如何才能准确地使这个3级嵌套forloop更有效?

2024-03-28 09:33:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用户列表和一个日期列表。对于每个日期,每个用户都可以执行多个操作。每个操作都是json中的一个属性

{'type': 'feature',
  'uri': '://app.pendo.io/api/s/555555/page/testpageideabcdefg',
  'parsedUserAgent': {'name': 'Chrome',
   'version': '74.0.3729',
   'os': 'Windows'},
  'appId': -00000,
  'featureId': 'ajdkflfdjklwajfdkl;afdklafdl;adf',
  'ts': 1560178680000,
  'lastTs': 1560178731896,
  'duration': 51896}

我想我的代码拉时间戳(ts)每个用户已经采取了一个特定的行动(emailsend\u id)在指定日期的产品。这意味着对于每个用户,代码将检查用户记录,检查日期,然后检查指定的特性。然后对于相同的用户记录,检查列表中的下一个日期,等等

我想出了这个嵌套for循环,但它超时了。你知道吗

for user in Users:
    queryurl= baseurl+ user+ "/history"   
    for date in Time: 
        params =  params = {"starttime": date}   
        response = requests.get(queryurl, headers = headers, params = 
        params)
        data = response.json()
        Length=len(data) 
        for pid in range(Length): 
            if data[pid]["type"]== "feature" and data[pid}["featureId"]== emailsend_id:
                StartTime = data[pid]["ts"]
                Send_date.append(StartTime)
                df_user.append(user)
                break
            else:
                continue
            break

我怎样才能提高效率?你知道吗

我尝试将一个查询url列表传递到一个只有2个嵌套循环的函数中,但没有成功。我真的不知道这是否可以变成一个嵌套列表。你知道吗


Tags: 代码用户injson列表fordatadate