Python 使用外部增量的列表理解在嵌套for循环中枚举

Python 使用外部增量的列表理解在嵌套for循环中枚举,python,Python,我试图将公认的问题解决方案应用于以下问题,但愚蠢的是,我不能: 在: 输出: 其中,增量值需要为1,2,3,…15,16。重要的是,我需要在一行中完成这项工作(即理解之外没有变量定义),理想情况下不需要任何导入(如原始问题的公认答案)因为在生成组合后需要对它们进行编号,所以需要使用嵌套生成器/理解: 在内部,生成组合 使用枚举(…,start=1)从1开始给它们编号 在外层,将它们格式化为所需的格式 由于在生成组合后需要对它们进行编号,因此需要使用嵌套生成器/理解: 在内部,生成组合 使用

我试图将公认的问题解决方案应用于以下问题,但愚蠢的是,我不能:

在:

输出:


其中,
增量
值需要为1,2,3,…15,16。重要的是,我需要在一行中完成这项工作(即理解之外没有变量定义),理想情况下不需要任何导入(如原始问题的公认答案)

因为在生成组合后需要对它们进行编号,所以需要使用嵌套生成器/理解:

  • 在内部,生成组合
  • 使用
    枚举(…,start=1)从1开始给它们编号
  • 在外层,将它们格式化为所需的格式

由于在生成组合后需要对它们进行编号,因此需要使用嵌套生成器/理解:

  • 在内部,生成组合
  • 使用
    枚举(…,start=1)从1开始给它们编号
  • 在外层,将它们格式化为所需的格式
用于增量

>>> increment=0
>>> [f'{level_A}_{level_B}_{level_C}_{(increment:=increment+1)}' 
... for level_A, rng in [(5, list(range(1,3))), (6, list(range(1,3)))]
... for level_B in rng
... for level_C in range(1, 5)]
这给了我:

['5_1_1_1', '5_1_2_2', '5_1_3_3', '5_1_4_4', '5_2_1_5', '5_2_2_6', '5_2_3_7', '5_2_4_8', '6_1_1_9', '6_1_2_10', '6_1_3_11', '6_1_4_12', '6_2_1_13', '6_2_2_14', '6_2_3_15', '6_2_4_16']
用于增量

>>> increment=0
>>> [f'{level_A}_{level_B}_{level_C}_{(increment:=increment+1)}' 
... for level_A, rng in [(5, list(range(1,3))), (6, list(range(1,3)))]
... for level_B in rng
... for level_C in range(1, 5)]
这给了我:

['5_1_1_1', '5_1_2_2', '5_1_3_3', '5_1_4_4', '5_2_1_5', '5_2_2_6', '5_2_3_7', '5_2_4_8', '6_1_1_9', '6_1_2_10', '6_1_3_11', '6_1_4_12', '6_2_1_13', '6_2_2_14', '6_2_3_15', '6_2_4_16']
['5_1_1_1', '5_1_2_2', '5_1_3_3', '5_1_4_4', '5_2_1_5', '5_2_2_6', '5_2_3_7', '5_2_4_8', '6_1_1_9', '6_1_2_10', '6_1_3_11', '6_1_4_12', '6_2_1_13', '6_2_2_14', '6_2_3_15', '6_2_4_16']