百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

曲速引擎 Python等长度分割列表算法

off999 2024-10-16 11:21 26 浏览 0 评论

partition_list函数的设计目的是将一个列表分割成多个子列表,其中每个子列表的长度尽可能相等。

在批处理任务和并行计算在写并发的时候通常要将数据内容写入执行函数当中,因此需要将一个大的数据集分割成多个部分,以便在多个处理器或机器上并行处理时,这个函数可以帮助均匀地分配数据。

输入数据:

lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

得到结果:

lists = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20]]

算法


#本文由 曲速引擎(Warp Drive)个人博客 曲速引擎(Warp Drive)CSDN技术博客 曲速引擎(Warp Drive)头条号 联合创作,转载请说明出处谢谢
def partition_list(lists, number):
    # 计算每个子列表的目标长度,即原列表长度除以4
    children_list_len = int(len(lists) / 4)
    # 使用 zip 和 iter 创建一个迭代器,该迭代器每次返回长度为 children_list_len 的元组
    list_of_groups = zip(*(iter(lists),) * children_list_len)
    # 将元组转换为列表,并将这些列表收集到 data_list 中
    data_list = [list(i) for i in list_of_groups]
    # 计算不能均匀分配到子列表中的元素数量
    count = len(lists) % children_list_len
    # 如果有剩余元素,将它们作为一个新的子列表添加到 data_list 中
    if count != 0:
        data_list.append(lists[-count:])
    return data_list

if __name__ == '__main__':
    lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
    success_lists = partition_list(lists, 4)
    for i in success_lists:
        print(i)

相关推荐

Matplotlib绘图入门指南:避开这些坑,轻松上手

#头条创作挑战赛#Matplotlib是一个非常强大的Python绘图库,它可以帮助我们创建各种高质量的图表。但是,使用Matplotlib也有一些坑,如果不注意,可能会导致绘图效果不理想,甚至出现错...

python编程--turtle库基本知识小结

turtle库是python标准库之一,python自带,入门级绘图库。由程序控制turtle(海龟)的运动轨迹,可改变颜色和宽度。1、turtle的绘图窗体设置turtle.setup(width,...

Python Matplotlib库简介(matplotlib库介绍)

简介Matplotlib是一个Python2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有版本品质的图形。Matplotlib可用于Python脚本,Python和IPython...

每天一个 Python 库:matplotlib 全能绘图神器零基础到进阶!

在Python世界中,如果只能选一个图形库,大多数人都会选择matplotlib。它不仅功能强大,而且是数据可视化的“基础盘”——你用seaborn、pandas、plotly都绕不开它。今...

Python画图(python画图在线)

1、第一个海龟程序用海龟作图来编写第一个程序。#引入海龟画图程序importturtle#画一个五角星defdrawStar(turtle,size):foriin...

来来来,一起用Python绘制一幅端午安康图:粽子与龙舟

一、绘制方法与流程1.整体流程图2.详细绘制流程画布初始化:设置窗口大小、背景色和标题立体粽子绘制:绘制正面三角形(浅绿色)绘制侧面三角形(深绿色)形成立体效果添加粽叶纹理线条绘制十字绑法...

项目中,12个最常用的matplotlib图!

今儿来聊聊关于机器学习项目中最常用的matplotlib图形。有可能你在想要用的时候,直接把下面的代码粘贴过去,改改就好~在机器学习实际项目和数据分析中,Matplotlib是一个常用的Python绘...

python绘图宝典Matplotlib(python自带绘图模块)

  Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。  中文官方网址  https://www.matplotlib.org....

这些Python可视化工具画图真的好看,强烈推荐!

用过Python数据分析的小伙伴都知道,Python不光能高效处理数据,还能实现各种实用且酷炫的可视化,光是制作图表的第三方库就有几十种,而且各有千秋,下面来梳理梳理。1.MatplotlibMa...

Python Turtle库绘图指南(turtle库绘图代码)

Python的turtle库是一个非常适合初学者的绘图工具,通过简单的指令可以控制“海龟”在屏幕上移动并绘制图形。以下是详细的Turtle库使用指南,包含基础操作、常用函数和代码示例。1....

安装python语言,运行你的第一行代码

#01安装Python访问Python官方(https://www.python.org/),下载并安装最新版本的Python。确保安装过程中勾选“Addpython.exetoPAT...

Python推导式家族深度解析:字典/集合/生成器的艺术

一、为什么需要其他推导式?当你在处理数据时:o需要快速去重→集合推导式o要建立键值映射→字典推导式o处理海量数据→生成器表达式这些场景是列表推导式无法完美解决的,就像工具箱需要不同工...

别再用循环创建字典了!Python推导式让你的代码起飞

当同事还在用for循环吭哧吭哧创建字典时,我早已用推导式完成3个需求了!这个被90%新手忽视的语法,今天让你彻底掌握字典推导式的4大高阶玩法,文末彩蛋教你用1行代码搞定复杂数据转换!基础语法拆解#传...

什么是Python中的生成器推导式?(python生成器的好处)

编程派微信号:codingpy本文作者为NedBatchelder,是一名资深Python工程师,目前就职于在线教育网站Edx。文中蓝色下划线部分可“阅读原文”后点击。Python中有一种紧凑的语法...

Python 列表转换为字符串:实用指南

为什么在Python中将列表转换为字符串?Python列表非常灵活,但它们并非在所有地方都适用。有时你需要以人类可读的格式呈现数据——比如在UI中显示标签或将项目保存到CSV文件。可能还...

取消回复欢迎 发表评论: