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

如何用Python的for循环从列表中按间隔n提取元素生成多列表

解决方案

基于for循环的实现方式

你可以指定间隔数n(示例中n=3),通过遍历起始索引,结合列表切片语法按步长提取元素,最终生成目标字典。代码如下:

test_list = ['a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'a10',
             'a11', 'a12', 'a13', 'a14', 'a15', 'a16', 'a17', 'a18']
n = 3  # 对应要拆分出的列表数量
my_result = {}

for i in range(n):
    # 从索引i开始,以n为步长提取元素
    sub_list = test_list[i::n]
    # 生成对应键名(list_a、list_b...)
    key = f'list_{chr(ord("a") + i)}'
    my_result[key] = sub_list

print(my_result)

代码说明

  • 切片语法:test_list[i::n]表示从索引i出发,每间隔n-1个元素提取一个(步长为n),刚好满足按间隔拆分的需求。
  • 循环逻辑:通过range(n)遍历0到n-1的起始索引,依次生成每个子列表。
  • 键名生成:利用chr(ord("a") + i)动态生成list_a、list_b这类键名,适配不同的n值。

输出验证

运行代码后,输出结果与目标完全一致:

{'list_a': ['a1', 'a4', 'a7', 'a10', 'a13', 'a16'],
 'list_b': ['a2', 'a5', 'a8', 'a11', 'a14', 'a17'],
 'list_c': ['a3', 'a6', 'a9', 'a12', 'a15', 'a18']}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:01:28