Python3 将一个列表按指定长度分割为多个子列表的方法

叶初
叶初
发布时间:2026-10-11 | 2人浏览过
原创

本文介绍在 Python3 中如何将一个长列表按指定的子列表长度进行分割。通过定义 list_of_groups 函数,利用 zip 和切片操作处理剩余元素,实现如将 [1,2,3,4,5,6,7,8,9,10] 按长度 3 分割为多个子列表的功能,并提供调用示例。

列表按指定长度分割的实现

在数据处理场景中,经常需要将一个包含多个元素的列表(List)按照固定的数量拆分为多个子列表。例如,输入列表为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],若指定子列表长度为 3,分割后的结果应呈现为 [1, 2, 3]、[4, 5, 6]、[7, 8, 9] 以及剩余的 [10]。为了实现这一功能,我们需要编写一个专门的分割函数,并在主程序中调用它。

核心分割函数代码

以下代码定义了一个名为 list_of_groups 的函数,它接收原始列表 init_list 和子列表长度 children_list_len 作为参数。该函数利用 Python 的 zip 函数特性进行分组,并处理无法整除时的剩余元素。

def list_of_groups(init_list, children_list_len):
  list_of_groups = zip(*(iter(init_list),) *children_list_len)
  end_list = [list(i) for i in list_of_groups]
  count = len(init_list) % children_list_len
  end_list.append(init_list[-count:]) if count !=0 else end_list
  return end_list

该函数的执行逻辑如下:首先通过 zip(*(iter(init_list),) *children_list_len) 将列表按指定长度打包;接着将打包结果转换为列表列表;最后计算剩余元素数量,若有余数,则将剩余部分追加到结果列表中。

调用示例与结果

在 main.py 中,我们可以导入上述分割模块,并传入具体的股票代码列表进行分割。假设我们需要将一组股票代码按每 3 个一组进行拆分,代码如下:

import split_list
 
code_list = ['300033','600066','300032','600065','300031','600064']
 
code_list = split_list.list_of_groups(code_list,3)

执行上述代码后,code_list 变量将变为一个包含多个子列表的列表。我们可以通过索引 i(取值范围为 0, 1, 2 等整数)来访问具体的子列表元素,例如使用 code_list[i] 获取第 i 个子列表。这种方法在处理批量数据或分页逻辑时非常实用。

以上就是 Python3 把一个列表按指定数目分成多个列表的详细内容,更多关于 Python 列表操作与分割的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表