每100个元素对Python列表进行切片的最具Python风格的方式

2022-03-26 00:00:00 python slice

问题描述

我有一个包含许多元素的列表。我想每隔100个元素将其切片为包含多个列表的列表。

例如:

>>> a = range(256)
>>> b = slice(a, 100)

b则应为[[0,1,2,...99],[100,101,102,...199],[200,201,...,255]]

做到这一点最具蟒蛇气息和优雅的方式是什么?


解决方案

这应该会起作用:

[a[i:i+100] for i in range(0, len(a), 100)]

range takes an optional third step argument,因此range(0, n, 100)将为0, 100, 200, ...

相关文章