吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1065|回复: 20
收起左侧

[已解决] python 多参数for循环

[复制链接]
double07 发表于 2021-10-27 17:09
本帖最后由 double07 于 2021-10-28 10:09 编辑

[Python] 纯文本查看 复制代码
a_list = [190, 200, 240, 460]
b_list = [1, 2]
c_list= [1,2,3,4,5]


url ='https://www.xxx.com/?&in=5${}&jobKind={}¤tPage={}


通过url地址格式,把a、b、c三个条件依次填进url地址“{}”对应的空格中,形成不同组合。请问是否只能嵌套几层for循环,才能完成不同url?有什么便捷的方式能通过一次for循环把不同地址形成列表?(多参数传递?)

免费评分

参与人数 2吾爱币 +2 收起 理由
wu-ai-po-jie + 1 我很赞同!
tandz + 1 希望有结果

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

菱角 发表于 2021-10-27 17:14
是希望一次for循环生成40个不用的url地址吗
SDU123 发表于 2021-10-27 17:17
[Python] 纯文本查看 复制代码
a_list = [190, 200, 240, 460]
b_list = [1, 2]
c_list = [1, 2, 3, 4, 5]

for i in a_list:
    for j in b_list:
        for m in c_list:
            url = f'https://www.xxx.com/?&key=营销&in=5${i}&jobKind={j}¤tPage={m}'
            print(url)
平淡最真 发表于 2021-10-27 17:20
菱角 发表于 2021-10-27 17:23
for d in itertools.product(a_list,b_list,c_list):
 楼主| double07 发表于 2021-10-27 17:26
菱角 发表于 2021-10-27 17:14
是希望一次for循环生成40个不用的url地址吗

是的,二楼方式传统了点,如果条件多了,写起来累
 楼主| double07 发表于 2021-10-27 17:27
SDU123 发表于 2021-10-27 17:17
[mw_shl_code=python,true]a_list = [190, 200, 240, 460]
b_list = [1, 2]
c_list = [1, 2, 3, 4, 5]

感谢,但希望简单点,如果参数多了,这样写不怎么方便
lvweicheng 发表于 2021-10-27 17:27
[Python] 纯文本查看 复制代码
import itertools

a_list = [190, 200, 240, 460]
b_list = [1, 2]
c_list = [1, 2, 3, 4, 5]
url = 'https://www.xxx.com/?&in=5${}&jobKind={}¤tPage={}'
for x in itertools.product(a_list, b_list, c_list):
        print(url.format(x[0], x[1], x[2]))
lucklys 发表于 2021-10-27 17:29
笛卡尔积
magicianly 发表于 2021-10-27 17:29
本帖最后由 magicianly 于 2021-10-27 17:31 编辑
from itertools import cycle
a_list = [190, 200, 240, 460]
b_list = [1, 2]
c_list= [1,2,3,4,5]
for a, b, c in zip(cycle(a_list), cycle(b_list), cycle(c_list)):
    url = f'https://www.xxx.com/?&in=5${a}&jobKind={b}¤tPage={c}'
    print(url)

itertools ,Python 中官方用来处理遍历的库;
cyclye:循环遍历,“ABC” 循环遍历 --> "ABCABCABC..."zip: 同时遍历多个数组(默认情况下遍历到最短的数组停止)。
因此用 cycle 和 zip 的组合,可以得到你想要的效果。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 06:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表