【发布时间】:2011-01-15 04:26:30
【问题描述】:
可能的重复:
splitting a list of arbitrary size into only roughly N-equal parts
How do you split a list into evenly sized chunks in Python?
我需要创建一个函数,它将一个列表拆分为一个列表列表,每个列表包含相等数量的项目(或尽可能相等)。
例如
def split_lists(mainlist, splitcount):
....
mylist = [1,2,3,4,5,6]
split_list(mylist,2) 将返回一个包含三个元素的两个列表的列表 - [[1,2,3][4,5,6]]。
split_list(mylist,3) 将返回一个包含两个元素的三个列表的列表。
split_list(mylist,4) 将返回一个包含两个元素的两个列表和一个元素的两个列表的列表。
我不在乎哪些元素出现在哪个列表中,只是列表尽可能均匀地划分。
【问题讨论】:
-
我觉得这看起来很眼熟:stackoverflow.com/questions/2130016/…
-
这个问题及其使用 zip 和 iter() 的“聪明答案”在过去 48 小时内出现了大约 5 次。搜索是您的朋友。
-
搜索“python list chunks”,你会找到答案……投票以重复结束
-
这个问题要求将序列分成指定数量的块,而不是指定长度的块。这不是一回事。