【发布时间】:2022-01-22 17:17:00
【问题描述】:
我有一个值列表,想每次提取前3个值,迭代后需要去掉第一个索引位置值。
a = [11,12,13,14,15,16,17,18,19]
输出:
[[11,12,13],[12,13,14],[13,14,15],[14,15,16],[15,16,17],[16,17,18],[17,18,19]]
【问题讨论】:
我有一个值列表,想每次提取前3个值,迭代后需要去掉第一个索引位置值。
a = [11,12,13,14,15,16,17,18,19]
输出:
[[11,12,13],[12,13,14],[13,14,15],[14,15,16],[15,16,17],[16,17,18],[17,18,19]]
【问题讨论】:
列表推导式可能相当容易理解-
a = [11,12,13,14,15,16,17,18,19]
a_out = [a[i:i+3] for i in range(len(a)-2)]
或者,如果这种方法更有意义,您也可以使用 zip 剪切和拼凑列表的某些部分 -
a_out = list(zip(a[0:-2], a[1:-1], a[2:]))
【讨论】: