小编典典

将python列表拆分为其他“子列表”,即较小的列表

all

我有一个运行到 1000 个的 python 列表。就像是:

data=["I","am","a","python","programmer".....]

其中,len(data)= 说 1003

我现在想通过将原始列表分成 100 个块来创建这个列表(数据)的一个子集。所以,最后,我想有类似的东西:

data_chunk1=[.....] #first 100 items of list data
data_chunk2=[.....] #second 100 items of list data
.
.
.
data_chunk11=[.....] # remainder of the entries,& its len <=100, len(data_chunk_11)=3

有没有一种pythonic方法来完成这个任务?显然我可以使用 data[0:100] 等等,但我假设这是非常非 Pythonic 并且非常低效。

非常感谢。


阅读 88

收藏
2022-05-22

共1个答案

小编典典

我会说

chunks = [data[x:x+100] for x in range(0, len(data), 100)]

如果您使用的是 python 2.x 而不是 3.x,则可以通过使用来提高内存效率xrange(),将上面的代码更改为:

chunks = [data[x:x+100] for x in xrange(0, len(data), 100)]
2022-05-22