Je voudrais parcourir une liste en python et je le fais généralement de cette façon:
imaginons une liste dans une variable appelée 'movie' où je veux imprimer le même dans une variable 'auteurs' et le étrange en «étoiles». Je voudrais faire comme ceci:
stars, authors = movies[0:2]
for i in range(0, len(movies), 2):
stars #how can i insert "i"?
Mais comment puis-je faire de cette autre manière?
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]
4 Réponses :
En supposant que vous n'ayez pas besoin de la valeur des films par la suite, vous pouvez utiliser Extended iterable déballage
while movies:
stars, authors, *movies = movies
Utilisez simplement le triple découpage (début: fin: étape):
stars, authors = movies[::2], movies[1::2]
Vous pouvez utiliser le découpage:
stars=movies[::2] authors=movies[1::2]
stars se compose de tous les autres échantillons du tableau movies , d'où l'étape de 2. Il commence par le 0ème index, qui a été omis ci-dessus. Vous pouvez également écrire stars=movies[0::2 .
auteurs utilise également un pas de 2, mais commence par le premier index dans films .
Vous pouvez consulter les bases de l'indexation et du découpage ici .
for i in range(0, len(movies), 2):
stars, authors = movies[i:i+2]