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

如何将列表一次性拆分为多个固定长度的子列表?

按指定长度拆分固定列表的一行写法

你想要的*list1[13], *list2[8], *rest = data这种语法在Python里是不合法的,因为解包语法不支持直接指定批量元素的长度。不过有几种简洁的方式能实现你要的效果:

直接一行赋值(最直观)

如果只是想把拆分逻辑写成一行,直接用切片赋值就行,可读性拉满:

list1, list2, rest = data[:13], data[13:21], data[21:]

自定义拆分函数(复用性强)

如果需要多次按不同长度拆分列表,可以写个小函数封装逻辑,之后一行调用即可:

def split_list(lst, *sizes):
    chunks = []
    idx = 0
    for size in sizes:
        chunks.append(lst[idx:idx+size])
        idx += size
    chunks.append(lst[idx:])
    return chunks

# 一行拆分
list1, list2, rest = split_list(data, 13, 8)

用itertools.islice实现(无需额外函数)

借助itertools.islice可以迭代拆分,也能写成一行(用分号分隔):

from itertools import islice
it = iter(data); list1 = list(islice(it,13)); list2 = list(islice(it,8)); rest = list(it)

这几种方式都能替代你原来的手动切片或循环处理,根据场景选就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 20:22:04