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

Python (152) 2023-07-10 01:05:41

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

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
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]]
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()。

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
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]
defchunks(lst,n):
"""Yieldsuccessiven-sizedchunksfromlst."""
foriinxrange(0,len(lst),n):
yieldlst[i:i+n]

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

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

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
[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)]
[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电脑。

THE END

发表回复