每100个元素对Python列表进行切片的最具Python风格的方式
问题描述
我有一个包含许多元素的列表。我想每隔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, ...
。
相关文章