L'objectif des structures de données est d'organiser le contenu pour y avoir ensuite accès de façon facilitée, et avec des outils qui permettent de les exploiter simplement selon des critères spécifiques. Il est en particulier régulièrement nécessaire de parcourir les éléments de la structure pour en extraire les valeurs ou faire une recherche.
Ici rien de bien nouveau, nous nous contenterons de montrer comment les boucles déjà vues s'adaptent à ces formes nouvelles.
phrase = "Je pense donc je suis" i=0 while i < len(phrase): print (phrase[i]) i+=1
on utilise ici la valeur incrémentée de i comme indice pour extraire la valeur. On retrouvera le même principe dans :
liste4 = ("René","Descartes","Méditations métaphysiques") i=0 while i < len(liste4): print (liste4[i]) i+=1
Avec for nous pourrons éviter le recours à l'incrémentation d'un chiffre et parcourant la liste en elle-même :
for element in liste4: print(element) > René > Descartes > Méditations Métaphysiques
Ainsi s'il s'agit de parcourir toutes les données, ce procédé pourra se révéler plus astucieux. While permettra d'avoir un meilleur contrôle des limites mais aussi de faire des boucles non pas élément après élément, mais tous les 2, 3 ou 4... éléments :
i=0 while i < len(phrase): print(phrase[i]) i+=2 > J e s o c j u s
Si vous préférez for quoi qu'il arrive, vous pouvez le combiner à range pour obtenir des résultats du même type, voire même parfois plus succints et clairs :
liste1=("Descartes","Erasme","Montaigne","Montesquieu","Diderot","Rousseau","Voltaire") for n in (range(3,6)): print (liste1[n]) > Montesquieu Diderot Rousseau
Range() accepte plusieurs paramètres qui sont interprétés de la façon suivante :
for n in range(0,7,2): print (liste1[n]) > Descartes Montaigne Diderot Voltaire
La spécificité du parcours d'un dictionnaire tient dans le fait que le dictionnaire est composé de deux informations pour chaque élément : la clé et la valeur. Le parcours du dictionnaire peut se faire avec une boucle for mais si rien n'est spécifié, seul la clé est récupérée. Pour tout récupérer on utilisera une boucle du type :
dictionnaire1={'nom':'Descartes','prenom':'René','ecrit':'Meditations Métaphysiques'} for cle, valeur in dictionnaire1.items(): print (cle, " ", valeur) > ecrit Meditations Métaphysiques nom Descartes prenom René
Les informations sont bien écrites. Remarquez simplement qu'elles sont parcourues à partir de la fin du dictionnaire.
Pour ne récupérer que la clé, utilisez
for cle in dictionnaire1.keys()
Pour ne récupérer que la valeur, utilisez
for valeur in dictionnaire1.values()
Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.
Vous devriez rafraîchir la page.