2024-04-20 01:38:21 发布
网友
我有一个大约250个元素的大列表。我需要将每50个元素分组到一个子列表中,并遍历每个子列表。在
例如:
largerList = [0, 1, ... ..., 268]
我希望子列表看起来像:
然后我将能够迭代子列表,并为每个子列表做一些事情。在
for ls in subLists: for i in ls: DO SOMETHING...
您可以使用列表理解来以python方式完成这项工作。见下文:
def group(original_list,n=50): return [original_list[x:x+n] for x in xrange(0,len(original_list),n)]
实际上,您根本不需要函数,但我想我将展示函数方式,以防您想更改每个子列表中的项数。这同样有效:
请参见itertools文档(不是groupby)中的grouper示例,这听起来像您想要的:
grouper
def grouper(iterable, n, fillvalue=None): "Collect data into fixed-length chunks or blocks" # grouper('ABCDEFG', 3, 'x') > ABC DEF Gxx" args = [iter(iterable)] * n return zip_longest(*args, fillvalue=fillvalue)
count = len(largerList) / 50 i = 0 smallerList = [] while(i < count): smallerList.append(largerList[(i*50):(i*50)+50]) i+= 1
您可以使用列表理解来以python方式完成这项工作。见下文:
实际上,您根本不需要函数,但我想我将展示函数方式,以防您想更改每个子列表中的项数。这同样有效:
^{pr2}$请参见itertools文档(不是groupby)中的
grouper
示例,这听起来像您想要的:相关问题 更多 >
编程相关推荐