Sélections dans une liste.
Sélections dans une liste
Prendre un élément en comptant à partir de la fin
>>> # On reprend une liste de test, un peu plus longue cette fois, et homogène.
>>> maliste = ["zéro", "un", "deux", "trois", "quatre", "cinq"]
>>> maliste[-1] # on demande le dernier élément
'cinq'
>>> maliste[-2] # l'avant-dernier
'quatre'
>>> maliste[-3] # l'avant-avant-dernier (ou antépénultième), et ainsi de suite…
'trois'
Prendre une partie d'une liste
>>> maliste[1:3] # Ici on demande une partie de la liste et non un élément seul
['un', 'deux']
>>> # On remarque que cela fonctionne comme range(1,3), le 3 n'est pas compris.
>>> # Voyons maintenant si l'on ne précise pas l'indice de départ ou d'arrivée:
>>> maliste[1:] # Sans indice d'arrivée, on ne s'arrête qu'à la fin,
['un', 'deux', 'trois', 'quatre', 'cinq']
>>> maliste[:3] # sans indice de départ, on commence du tout début.
['zéro', 'un', 'deux']
Le mot le plus long
Je vous présente ici un petit algorithme qui trouve le mot le plus long dans le texte stocké dans la variable texte.
>>> texte = "voici une suite de mots presque en vrac"
>>> mot_long = "" # Cette variable contiendra le mot cherché.
>>> # Le recordman de longueur en quelque sorte.
... # Pour l'instant on stocke le mot vide "" dedans.
... mots = texte.split() # On construit la liste des mots.
>>> for mot in mots: # On parcourt cette liste (boucle for).
... if len(mot) > len(mot_long): # Si le mot rencontré bat le record de longueur,
... mot_long = mot # on le proclame recordman.
...
>>> mot_long # On affiche le résultat.
'presque'
Liste des rangs d'apparition d'une lettre
>>> mot = "apparition"
>>> rangs = [] # Cette liste va accumuler les rangs de la lettre *i*.
>>> for rang in range(len(mot)): # La variable rang parcourt les entiers de 0 au rang de la dernière lettre du mot.
... if mot[rang] == 'i':
... rangs.append(rang) # Si la lettre du mot est 'i', on stocke le rang dans notre liste.
...
>>> rangs # On affiche le résultat.
Créé avec HelpNDoc Personal Edition: Générateur de documentation iPhone gratuit