📅  最后修改于: 2023-12-03 15:09:39.496000             🧑  作者: Mango
在编写Python代码时,经常会遇到需要对长列表进行块状分割的情况。这时,我们可以使用Python中的内置函数divmod()
和列表切片的方式来实现。
def split_list(lst, chunk_size=100):
'''
将长列表按照一定的块大小进行拆分成多个子列表
:param lst: 待拆分的长列表
:param chunk_size: 块大小,默认为100
:return: 拆分后的子列表组成的列表
'''
return [lst[i:i+chunk_size] for i in range(0, len(lst), chunk_size)]
使用以上代码实现长列表按照块大小为100进行拆分的示例如下:
lst = [i for i in range(1000)]
sub_lsts = split_list(lst, 100)
print(sub_lsts)
输出结果为:
[[0, 1, 2, ..., 97, 98, 99], [100, 101, 102, ..., 197, 198, 199], [200, 201, 202, ..., 297, 298, 299], ..., [700, 701, 702, ..., 797, 798, 799], [800, 801, 802, ..., 897, 898, 899], [900, 901, 902, ..., 97, 98, 99, 100]]
从输出结果可以看出,长列表已经被成功地拆分成了100个块。
以上代码实现的方法可以方便地处理长列表的拆分问题。同时,也能够极大地提高代码的效率。因此,在Python编程时,合理地使用这种方法,将能够事半功倍。