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

如何在Python循环中生成1到360所有组合的动态列表

生成符合要求的动态循环列表

要实现你描述的动态列表生成逻辑,可以用生成器函数按规则批量生成所需列表,再在360次循环中逐个取用。

实现代码

首先定义生成器函数,按你的规则输出所有序列(假设n是列表允许的最大元素值,可根据实际需求修改):

def generate_dynamic_lists(n):
    start = 1
    while True:
        # 输出单元素起始列表
        yield [start]
        # 遍历所有可能的第二个元素
        for second in range(start + 1, n + 1):
            # 输出双元素列表
            yield [start, second]
            # 输出从双元素扩展到n的所有长列表
            for extend_len in range(3, n - second + 2):
                yield [start] + list(range(second, second + extend_len - 1))
        start += 1

然后在你的循环中使用这个生成器,取前360个列表:

# 替换为你实际需要的最大元素n
max_element = 10
list_gen = generate_dynamic_lists(max_element)

for t in range(360):
    try:
        current_list = next(list_gen)
    except StopIteration:
        # 若生成器提前耗尽,可根据需求处理(比如停止循环或重复生成)
        break
    # 这里加入你的模型调用逻辑,例如:
    # model.process(current_list)
    print(current_list)  # 仅作示例输出

逻辑说明

  • 生成器会先完整输出以1开头的所有组合:从[1]开始,接着是[1,2]、[1,2,3]直到[1,2,...,n],然后切换到[1,3]、[1,3,4]直到[1,3,...,n],以此类推直到[1,n]
  • 完成1开头的所有序列后,自动切换到以2开头的相同逻辑序列,持续生成新列表
  • 如果max_element设置过小导致生成器提前耗尽,可在StopIteration异常块中补充自定义处理逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 13:45:03