python列表如何分成大小均匀的块

1、生成想要块的生成器。

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()。

defchunks(lst,n):
"""Yieldsuccessiven-sizedchunksfromlst."""
foriinxrange(0,len(lst),n):
yieldlst[i:i+n]

3、可以简单地使用列表推导而不是编写函数。

尽管将这样的操作封装在命名函数中,以便代码更容易理解。

[lst[i:i+n]foriinrange(0,len(lst),n)]
Python2版本:
[lst[i:i+n]foriinxrange(0,len(lst),n)]

以上就是python列表分成大小均匀块的方法,希望对大家有所帮助。更多Python学习指路:Python基础教程

发表回复