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

如何按每5个元素遍历数字列表 生成包含整数和元组的嵌套列表

实现方案

你可以用Python的列表切片+步长遍历的方式实现,代码简洁高效,具体实现如下:

完整代码示例

# 原始列表
raw_list = ['20','15','45','76','0','67','45','485','16','8']
result = []
# 按步长为5遍历索引,每次取5个元素为一组
for start_idx in range(0, len(raw_list), 5):
    # 切片截取当前分组的5个元素
    current_group = raw_list[start_idx:start_idx+5]
    # 按要求处理分组:前两个元素直接保留,后三个转元组
    processed_group = [current_group[0], current_group[1], tuple(current_group[2:])]
    result.append(processed_group)
print(result)

运行后输出结果和你要求的完全一致:
[['20','15',('45','76','0')],['67','45',('485','16','8')]]

核心逻辑说明

  • 用range(0, len(raw_list), 5)生成起始索引序列,步长设为5就能保证每次遍历的起始位置刚好间隔5个元素,实现按5个元素一组拆分
  • 列表切片raw_list[start_idx:start_idx+5]会自动处理边界情况,就算列表总长度不是5的整数倍,也不会抛出索引溢出错误,只会返回剩余的有效元素
  • 对每个拆分后的分组直接按索引取值即可,current_group[2:]会自动取索引2及之后的所有元素,转成元组后拼入子列表即可
    如果你更喜欢精简写法,也可以用列表推导式实现:
raw_list = ['20','15','45','76','0','67','45','485','16','8']
result = [[g[0], g[1], tuple(g[2:])] for i in range(0, len(raw_list), 5) for g in [raw_list[i:i+5]]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:57:05