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

如何修改chunks函数使其仅返回列表的首个n元素分块

解决方案

你现有的代码逻辑是遍历整个列表,返回所有长度为n的分块,仅需限制仅返回第一个分块即可满足需求,可选择以下两种修改方案:

方式1:修改chunks函数核心逻辑

直接调整函数,仅生成首个分块:

def chunks(lst, n):
    """Yield the first n-sized chunk from lst."""
    if lst:
        yield lst[:n]


a_random_list=[1,2,3,4,5,6,7,8,9,10]
        
just_some_chunks = list(chunks(a_random_list, 5))

print(just_some_chunks)

运行后输出结果为:

[[1, 2, 3, 4, 5]]

完全符合你的预期。

方式2:不修改原有函数,调用时做限制

如果你需要保留原有chunks函数返回全部分块的通用能力,可在调用时仅截取第一个结果:

# 原有chunks函数不变
def chunks(lst, n):
    """Yield successive n-sized chunks from lst."""
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
        

a_random_list=[1,2,3,4,5,6,7,8,9,10]
        
# 仅取第一个分块
just_some_chunks = list(chunks(a_random_list, 5))[:1]

print(just_some_chunks)

也可以得到相同的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 08:06:10