Listes tuples::py
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Domaine | Python — structures de données |
| Types | list, tuple
|
Les listes sont des séquences mutables (leurs méthodes modifient l'objet d'origine), les tuples sont des séquences statiques. Cette page couvre aussi les conversions chaîne/liste et la compréhension de listes.
les methodes des listes ne renvoient rien mais modifie l'objet d'origine contrairement aux methodes des chaines
listes
ma_list = list() ma_list = [0, 1, 2, 3] ma_liste = [1, 3.5, "une chaine"]
- ajouter
ma_liste.append(55) # ajoute 55 a la fin de la liste
- insérer
ma_liste.insert(2, "c") # insère c à la 2e position de la chaine
- concatener
ma_liste.extend(maliste2) ma_liste+=maliste2 ma_liste + maliste2
- suppression
del ma_liste[2] ma_liste.remove(2)
- lire
for i, elt enumerate(ma_liste):
print("A l'indice {} se trouve {}".format(i, elt))
for elt in enumerate(ma_liste): print(elt)
tuples
un tuple est une liste statique
tuple_vide =() tuple_non_vide = (1,3,5)
methodes liées
- des chaines aux listes
chaine = "bonjour a tous"
chaine.split(" ")
["bonjour", "a", "tous"]
- des listes aux chaines
liste = ['bonjour', 'a', 'tous'] " ".join(liste)
exemple
if type(flottant) is not float:
raise TypeError("Le paramètre doit etre flottant")
flottant=str(flottant)
partie_entiere, partie_flottante = flottant.split(".")
return ",".join([partie_entiere, partie_flottante[:3]])
transformer une liste en paramètres de fonctions
liste_des_parametres = [1, 4, 9, 16, 25, 36] print(*liste_des_parametres)
compréhension des listes
- parcours simple
liste_origine = [0, 1, 2, 3, 4, 5] [nb * nb for nb in liste_origine]
- filtrage avec branchement conditionnel
liste_origine = [1, 2, 3, 4, 5, 6] [nb for nb in liste_origine if nb%2==0]
qtt_a_retirer = 7
fruits_stockes = [15, 3, 18, 21]
[nb_fruits-qtt_a_retirer for nb_fruits in fruits_stockes if nb_fruits>qtt_a_retirer]
[8, 11, 14]
exemple :
inventaire = [
("pommes", 22),
("melons", 4),
("poires", 18),
("fraises", 76),
("prunes", 51)
]
# on change l'ordre des colonnes pour pouvoir trier
inventaire_inverse = [(qtt, nom_fruit) for nom_fruit,qtt in inventaire]
#on trie
inventaire = ([nom_fruit, qtt) for qtt, nom_fruit in sorted(inventaire_inverse, reverse=True)]
# ou
inventaire_inverse.sort(reverse=True)
inventaire = ([nom_fruit, qtt) for qtt, nom_fruit in inventaire_inverse)]