首页 > 后端开发 > Python教程 > 如何将列表分成几乎相等的部分?

如何将列表分成几乎相等的部分?

Patricia Arquette
发布: 2024-11-13 04:24:02
原创
975 人浏览过

How to Split a List into Nearly Equal Parts?

将列表分成相等的部分

使用元素列表时,可能需要将其分成更小的、近似相等的部分部分。这对于数据处理、并行计算或分布式算法等任务特别有用。这里探索了一种有效地将列表划分为 n 个部分的方法。

解决方案:

要实现将列表几乎均等地划分为 n 个部分,请执行以下操作可以采取以下步骤:

  1. 通过将列表的长度除以 n 来计算商 k 和余数 m: k, m = divmod(len(a), n).
  2. 利用列表生成器生成分割部分: (a[i*k min(i, m):(i 1)*k min(i 1, m)] for i in range(n)) .

此方法可确保各个部分几乎均匀划分,前 m 个部分比剩余的 n-m 个部分包含一个附加元素。

示例:

为了说明此方法的有效性,请考虑一个包含 11 个整数的列表:range(11)。使用 split 函数将此列表分为 3 部分会产生以下结果:

>>> list(split(range(11), 3))

[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
登录后复制

可以观察到,列表被分为大小大致相等的三个部分,第一部分包含四个元素,第二部分包含四个元素。另外两个部分各包含三个元素。

以上是如何将列表分成几乎相等的部分?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板