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)
非常感谢。
您可以在列表理解中使用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']]