在 Python 中按指定长度拆分列表

Python 列表是用于存储有序元素的可变的数据类型,拆分列表是 Python 中的一项常见任务。本文中将介绍按指定长度拆分列表的多种方法。

例如: 列表 lst = [1, 2, 3, 4, 5, 6],指定查分长度: N。

N=2,输出[[1, 2], [3, 4], [5, 6]]

N=3,输出[[1, 2, 3], [4, 5, 6]]

方法1:列表推导式

列表推导式是创建新列表的简洁而强大的方法。允许在一行代码中转换或过滤列表的元素,可用于拆分列表。

lst = [1, 2, 3, 4, 5, 6, 7]
n = 2
chunks = [lst[i:i+n] for i in range(0, len(lst), n)]
print(chunks)

方法2:itertools 模块

itertools 模块的 islice 方法可用于拆分列表,通过指定大小对列表进行切片来创建较小的列表。

from itertools import islice
lst = [1, 2, 3, 4, 5, 6, 7]
n = 2
it = iter(lst)  # 创建迭代器
chunks = [list(islice(it, n)) for _ in range(0, len(lst), n)]
print(chunks) 

方法3:使用 for 循环

简单的方法是使用 For 循环利用列表切片进行拆分,此方法易于实现,也易于理解。

lst = [1, 2, 3, 4, 5, 6, 7]
n = 3
chunks = []
for i in range(0, len(lst), n):
    chunks.append(lst[i:i+n])
print(chunks)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信息科技云课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值