python - 将 python 列表拆分为其他 "sublists"即较小的列表

我有一个运行到 1000 个的 python 列表。比如:

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

其中,len(data)= 说 1003

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

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 并且非常低效。

非常感谢。

最佳答案

我会说

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)]

关于python - 将 python 列表拆分为其他 "sublists"即较小的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9671224/

相关文章:

python - 尽管我调用了 pyplot.show(),但 matplotlib 没有显示我的情

python - 将 javadoc 用于 Python 文档

python - 从 Pandas 日期时间列中分别提取月份和年份

linux - 在 Bash 中,如何在文件的每一行之后添加一个字符串?

linux - Linux bash 中波浪号的含义(不是主目录)

linux - 附加到进程输出以供查看

python - 从函数中获取文档字符串

linux - dd:如何计算最佳 block 大小?

linux - grep 的基本表达式不支持\d 吗?

python - 获取 MAC 地址