假设我有一个任意长度的列表,L:
L = list(range(1000))
Run Code Online (Sandbox Code Playgroud)
将该列表拆分成组的最佳方法是n
什么?这是我能够提出的最好的结构,并且由于某种原因,它不觉得它是完成任务的最佳方式:
n = 25
for i in range(0, len(L), n):
chunk = L[i:i+25]
Run Code Online (Sandbox Code Playgroud)
是否有内置功能,我缺少这个?
编辑:早期的答案是将我的for循环重新编写为listcomp,这不是主意; 你基本上以不同的形式给我我的确切答案.我正在看是否有另一种方法可以实现这一点,就像.split
列表上的假设一样.我也在昨晚写的一些代码中使用它作为生成器:
def split_list(L, n):
assert type(L) is list, "L is not a list"
for i in range(0, len(L), n):
yield L[i:i+n]
Run Code Online (Sandbox Code Playgroud) python ×1