1、生成想要块的生成器。
"""Yieldsuccessiven-sizedchunksfromlst."""
foriinrange(0,len(lst),n):
pprint.pprint(list(chunks(range(10,75),10)))
[[10,11,12,13,14,15,16,17,18,19],
[20,21,22,23,24,25,26,27,28,29],
[30,31,32,33,34,35,36,37,38,39],
[40,41,42,43,44,45,46,47,48,49],
[50,51,52,53,54,55,56,57,58,59],
[60,61,62,63,64,65,66,67,68,69],
defchunks(lst,n):
"""Yieldsuccessiven-sizedchunksfromlst."""
foriinrange(0,len(lst),n):
yieldlst[i:i+n]
importpprint
pprint.pprint(list(chunks(range(10,75),10)))
[[10,11,12,13,14,15,16,17,18,19],
[20,21,22,23,24,25,26,27,28,29],
[30,31,32,33,34,35,36,37,38,39],
[40,41,42,43,44,45,46,47,48,49],
[50,51,52,53,54,55,56,57,58,59],
[60,61,62,63,64,65,66,67,68,69],
[70,71,72,73,74]]
defchunks(lst,n):
"""Yieldsuccessiven-sizedchunksfromlst."""
foriinrange(0,len(lst),n):
yieldlst[i:i+n]
importpprint
pprint.pprint(list(chunks(range(10,75),10)))
[[10,11,12,13,14,15,16,17,18,19],
[20,21,22,23,24,25,26,27,28,29],
[30,31,32,33,34,35,36,37,38,39],
[40,41,42,43,44,45,46,47,48,49],
[50,51,52,53,54,55,56,57,58,59],
[60,61,62,63,64,65,66,67,68,69],
[70,71,72,73,74]]
2、如果使用的是Python2,则应使用xrange()代替range()。
"""Yieldsuccessiven-sizedchunksfromlst."""
foriinxrange(0,len(lst),n):
defchunks(lst,n):
"""Yieldsuccessiven-sizedchunksfromlst."""
foriinxrange(0,len(lst),n):
yieldlst[i:i+n]
defchunks(lst,n):
"""Yieldsuccessiven-sizedchunksfromlst."""
foriinxrange(0,len(lst),n):
yieldlst[i:i+n]
3、可以简单地使用列表推导而不是编写函数。
尽管将这样的操作封装在命名函数中,以便代码更容易理解。
[lst[i:i+n]foriinrange(0,len(lst),n)]
[lst[i:i+n]foriinxrange(0,len(lst),n)]
[lst[i:i+n]foriinrange(0,len(lst),n)]
Python2版本:
[lst[i:i+n]foriinxrange(0,len(lst),n)]
[lst[i:i+n]foriinrange(0,len(lst),n)]
Python2版本:
[lst[i:i+n]foriinxrange(0,len(lst),n)]
以上就是python列表分成大小均匀块的方法,希望对大家有所帮助。
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。