我想遍历python中的列表,通常我是这样进行的:
让我们想象一个列表,该列表包含一个名为“电影”的变量,我想将偶数打印为一个变量“作者”,将奇数打印为“星星”。我会这样:
stars = movies[0] #print the first
authors = movies[1] #print the second
for i in range(0, len(movies), 2):
stars = movies[0+i]
authors = movies[1+i]
但是我该怎么做?
stars, authors = movies[0:2]
for i in range(0, len(movies), 2):
stars #how can i insert "i"?
答案 0 :(得分:2)
您可以使用切片:
stars=movies[::2]
authors=movies[1::2]
stars
由movies
数组中的所有其他样本组成,因此为步骤2。它从第0个索引开始,在上面已省略。您也可以写stars=movies[0::2]
。
authors
也使用步骤2,但从movies
中的第一个索引开始。
您可以查看建立索引和切片here的基础。
答案 1 :(得分:0)
假设您以后不需要电影的价值,则可以使用extended iterable unpacking
while movies:
stars, authors, *movies = movies
答案 2 :(得分:0)
只需使用三层切片(开始:结束:步骤):
stars, authors = movies[::2], movies[1::2]
答案 3 :(得分:0)
for i in range(0, len(movies), 2):
stars, authors = movies[i:i+2]