对于一个很大的列表,例如有超过一万个元素的列表,假如需要对列表中的每一个元素都进行一个复杂且耗时的计算,用单线程处理起来会很慢,这时有必要利用多线程进行处理,处理之前首先需要对大的列表进行分割,分割成小的列表,下面给出自己写的一个分割列表的方法:

其中,each为每个列表的大小,len(ls)/eachExact可以避免整除时向下取整,造成总的分组数量的减少。

注意:分组数并不是简单的len(ls)/each+1即可,因为有可能刚好整除,没有余数。

     def divide(ls,each):
dividedLs=[]
eachExact=float(each)
groupCount=len(ls)/each
groupCountExact=len(ls)/eachExact
start=0
for i in xrange(groupCount):
dividedLs.append(ls[start:start+each])
start=start+each
if groupCount<groupCountExact:#假如有余数,将剩余的所有元素加入到最后一个分组
dividedLs.append(ls[groupCount*each:])
return dividedLs

Python分割list的更多相关文章

  1. python分割sql文件

    之前用joomla帮一学校做了个网站,然后要部署到他们到服务器上,他们只提供了sftp和phpmyadmin的账号,上传网站文件倒是挺顺利的,但后来用phpmyadmin导入mysql数据就遇到问题了 ...

  2. python分割字符串split,filter函数用法

    现有字符串,需要取出用空格分隔的第一段,操作如下 >>> product_model = ‘WS-C2960G-24TC-L – Fixed Module 0′>>> ...

  3. 相关Python分割操作

    刚论坛python文本 http://bbs.byr.cn/#!article/Python/1693 攻克了一个关于python分片的问题. 问题: uesrList = ['1','2','3', ...

  4. python分割txt文件

    a=open('A.txt','r').readlines() n=3 #份数 qty=len(a)//n if len(a)%n==0 else len(a)//n+1 #每一份的行数 for i ...

  5. py-day1-5 python 分割 、 字母大小转换

    # partition() 分割为3段 从左往右遇见的第一个开始 test = 'bassaiwoll' v = test.partition('s') print(v) ('ba', 's', 's ...

  6. python分割数组里面重复的元素

    c=[1,1,1,1,2,2,2,3,3,4,4,4,4,4,5,5,5,] a = [] x = [] for i in range(0,len(c)): if i + 1 < len(c): ...

  7. python分割文件目录/文件名和后缀

    import os file_path = "D:/test/test.py" (filepath,tempfilename) = os.path.split(file_path) ...

  8. python 分割文件、组合文件

    import glob big_file = open('index.sql', 'rb') bak_file = 'index_bak' i = 1 while True: chunk = big_ ...

  9. [转]Python 字符串操作实现代码(截取/替换/查找/分割)

    原文地址:http://www.jb51.net/article/38102.htm ps:好久没更新python代码了,这次用到了字符串,转来看看 Python 截取字符串使用 变量[头下标:尾下标 ...

随机推荐

  1. mac pro在公司连WiFi正常,回家回宿舍就找不到WiFI信号,需要重启才能找到WiFI热点

    解决办法:修改路由器的频段到1-11这个范围. 之前一直没时间去找原因,项目也急,这几天项目不是特别急了,就找找了,原因. 因为之前还是好好的,主要是之前有次修改了下路由器的配置. 改了下默认的发送频 ...

  2. 51job前程无忧网站打不开,51job网站进不了,51job打不开

    之前电脑一DNS一直用的四个114或者四个8,后面突然51job不能打开了,感觉莫名其妙地,因为手机上都能打开啊,虽然说51job上投简历没多大反应,但投了总比没投好吧.后面搞了好久,原来是DNS作怪 ...

  3. (转)SVN分支/合并原理及最佳实践

    先说说什么是branch.按照Subversion的说法,一个branch是某个development line(通常是主线也即trunk)的一个拷贝,见下图: branch存在的意义在于,在不干扰t ...

  4. 从Microsoft.AspNet.Identity看微软推荐的一种MVC的分层架构

    Microsoft.AspNet.Identity简介 Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的mem ...

  5. Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布

       FastCGI编程包括四部分:初始化编码.接收请求循环.响应内容.响应结束循环. FCGX_Request request; FCGX_Init(); ); FCGX_InitRequest(& ...

  6. 【Delphi】获取EIP

    var EIP: Cardinal; procedure GetEIP(); stdcall; asm pop eax; mov EIP,eax; push eax; end; procedure T ...

  7. idea引用自己的插件

  8. [git]添加项目到git

    写在前面 一直在想把代码托管到git上面,一直没有去研究,最近发现自己写的demo,好多都找不到了,实在是没办法了,耐下心研究了下git.这里通过添加了自己做的demo,算是也是学习下git的操作吧. ...

  9. sql server 日期相关操作

    ), ): ), ): :57AM ), ): ), ): ), ): ), ): ), ): ), ): ), ): , ), ): :: ), ): :::827AM ), ): ), ): ), ...

  10. linux下如何查看chm文件

    转自:http://www.cnblogs.com/jesseZh/p/4036811.html (64位)    sudo dpkg -i chmsee_1.3.0-2ubuntu2_amd64.d ...