通过字符串[重复]进行循环和切片

问题描述 投票:0回答:2
w = ['a','b','c','d','e','f','g','h']   
l = []

a = w[0:2]
b = w[2:4]
c = w[4:6]
d = w[6:8]


l = [a,b,c,d]              #[['a', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h']]

我如何使用循环方法而不是多次切片来获得相同的结果('w'至'l')?假设我不知道'w'变量中可以有多少个字符(在此示例中,它只是从'a'到'h'),并且切片将始终从0开始,但范围未知(在此示例中,是0:2)

非常感谢。

python loops slice
2个回答
0
投票

您可以在列表理解中使用range功能

w = ['a','b','c','d','e','f','g','h']   
length = 2
step = 2
l = [w[i:i + length] for i in range(0,len(w),step)]
l
#[['a', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h']]
© www.soinside.com 2019 - 2024. All rights reserved.