Vous êtes sur la page 1sur 27

Python

Structures de données
Les listes

 Une liste est une structure de données qui contient une collection de
valeurs modifiables.
L= [1,7,9,2]

 Python autorise la construction de liste contenant des valeurs de types


différents
L= ["sami", 1, 9.5, True]
Les listes

Création
• NomListe=[ ]

• NomListe=[ 2,2,8,9]

• Nomliste= list(range(debut,fin,pas))
Les listes

Accès

• Accès à une valeur de la liste


NomListe[indice]

• Accès à une séquence de la liste (slicing)


NomListe[borneInf:borneSup : pas]

• Indiçage négatif : la dernière valeur est d’indice -1


Les listes
 Fusion
NomListe+Liste2 ou NomListe.extend(liste2)
 Répétition
NomListe * nbre
 Longueur
len(NomListe)
 Insertion
◦ NomListe[indice:indice]=liste à insérer
◦ NomListe.insert(indice, x)
 Suppression
◦ NomListe[:]=[]
◦ del NomListe[indice:indice]
◦ NomListe.remove(valeur)
◦ NomListe.clear()
Les listes

 Ajout à la fin d’un seul élément


NomListe.append(valeur)

 Inverser une liste


Nomliste.reverse()
 Trier une liste
NomListe.sort()
 Retourner l’index d’une valeur
Nomliste.index(val, [debut],[fin])
 Retourner le nombre d’occurrence d’une valeur
NomListe.count(val)
 Valeur minimale et valeur maximale d’une liste
◦ min(NomListe) et max(NomListe)
◦ sum(NomListe)
Les listes

 Liste de Listes
◦ Chaque élément est une liste
◦ Pour accéder à un élément NomListe[indice][indice]

 Compréhension des listes :


c’est un moyen concis et rapide pour filtrer une liste ou
d'appliquer un traitement sur des éléments de la liste.

◦ new_list = [function(item) for item in list if condition(item)]


Exercices
 Écrire un programme qui lit une liste d'entiers et en crée une liste de nombres pairs
et une autre de nombres impairs.

 Ecrire un script permettant de supprimer toutes les voyelles d’une liste de


caractères.

 Ecrire un script permettant d’afficher tous les couples générés à partir de deux listes.
la première contenant les noms des mois et la seconde contenant le nombre de jours
. résultat attendu : ("janvier", 31), ("février", 28)….

 Soit la liste :L = [[1,2,3], [4,5,6], [7,8,9]]


Ecrire un script permettant d’aplatir cette liste et la rendre une liste à une seule
dimension et ce en utilisant la compréhension des listes.
Exercices
• Ecrire un script permettant de transposer une matrice nxm
• Vous disposez d’une liste de nombres entiers quelconques, certains
d’entre eux étant présents en plusieurs exemplaires. Écrivez un script
qui recopie cette liste dans une autre, en omettant les doublons. La
liste finale devra être triée
Les chaînes de caractères

 Les chaînes de caractères peuvent être considérées comme des listes


de caractères

 ce sont des listes non modifiables.

 Elles sont délimitées par des doubles ou des simples quotes

 Si elles tiennent sur plusieurs lignes, elles sont délimitées par triple
doubles ou simple quotes
Les chaînes de caractères
 Tester une chaîne de caractères
◦ isalnum()

◦ isalpha()

◦ isdigit()

◦ islower()

◦ isupper()

◦ isspace()
Les chaînes de caractères

 Recherche de sous-chaînes

◦ endswith(sous-chaine)

◦ startswith(sous-chaine)

◦ find(s1)

◦ rfind(s1)

◦ count(s)
Les chaînes de caractères

 Conversion des chaînes de caractères

◦ capitalize()
◦ lower()
◦ upper()
◦ title()
◦ swapcase()
◦ replace(old, new)
Les chaînes de caractères

 Elimination des espaces blancs


◦ lstrip()
◦ rstrip()
◦ strip()

 Fractionnement d’une chaîne de caractères en une liste


◦ split(separateur)

 Transformer une liste de chaines en chaine


◦ séparateur.join(liste)
Exercices
 Ecrire un script permettant de tester si une chaine est palindrome (le
programme doit être insensible à la casse)

 Ecrire un script permettant d’afficher les positions d’une sous-chaine dans


une autre chaine.

 Écrivez un script permettant de lire une phrase et d'afficher ses différents


mots ainsi que leurs longueurs respectifs.
Les tuples

 Les tuples sont des structures de données non modifiables

 Les tuples sont préférables aux listes lorsque on veut être certain que les
données transmises ne soient pas modifiées par erreur au sein d'un
programme

 On peut convertir une chaine ou une liste en un tuple


Les tuples

 s1 + s2 : Concaténer deux tuples s1 et s2.


 s * n: Crée un tuple composé de n copies concaténées de s.
 s[i] : Elément d’indice i dans le tuple s.
 s[i : j] : Tranche du tuple s dès l’indice i à l’indice j – 1.
 len(s) : Le nombre d’éléments dans le tuple s.
 min(s) : Le plus petit élément dans le tuple s.
 max(s) : Le plus grand élément dans le tuple s.
 sum(s) : Somme de tous les éléments de s.
 del : pour supprimer un tuple
Les tuples

 La fonction zip (séquence1, séquence2, séquencen) permet de


générer des tuples à partir des séquences
Exercice

 Soient trois listes contenant, respectivement,


Les noms, les prénoms ainsi que l’âge des différents candidats. Ecrire un
script permettant de créer des triplets à partir de ces listes et d’afficher le
message suivant:
« le nom est , le prénom est et l’âge est » avec un prénom en majuscule et
la première lettre du prénom en majuscule.
Les sets

 Les ensembles sont utilisés pour stocker une collection d’éléments. Ces
derniers ne sont pas indexés.
 Pas d’éléments redondants
 Création
◦ ensemble={valeurs}
◦ Suite à une conversion d’un set ou d’une liste
 Manipuler et accéder aux éléments d’un ensemble
◦ méthodes :add() remove(valeur),
◦ Fonctions: len(), min(), max(), del, et sum()
 Tests d’inclusion
◦ méthodes :issubset(set), issuperset(set)
Les sets

 Opérations usuelles sur les ensembles


◦ intersection : set.intersection(set1) ou set &set1
◦ Union : set.union(set1) ou set | set1
◦ Différence : set.difference(s2) s1-s2
Exercice

 Ecrire un script permettant de saisir une phrase. Définir une liste de mots
vides (stopwords). Déterminer les mots de la phrase qui ne sont pas des
mots vides.
Les dictionnaires

 Un dictionnaire est un objet conteneur qui stocke une collection de paires


clé / valeur. Il permet une récupération rapide, suppression et mise à jour
de la valeur à l’aide de sa clé.
 Création
◦ dictionnaire vide : nomDict={ }
◦ Initialisation : nomDict={clé:val,clé1:val1}

 Ajout d’un élément au dictionnaire


◦ nomDict[clé]=valeur
Les dictionnaires

 keys(): Retourne une séquence de clés.


 values(): Retourne une séquence de valeurs.
 items(): Retourne une séquence de tuples. Chaque tuple est
sous la forme (clé, valeur).
 clear(): Supprime tous les éléments.
 get(clé): Renvoie la valeur de la clé ou nomDic[clé]
Les dictionnaires

 Parcourir un dictionnaire
◦ For cle in nomdict:
print(nomDict[cle])

◦ Récupérer la clé et la valeur en une seule itération


 for clef, valeur in nomDict.items():
print clef, valeur
◦ Récupérer les valeurs
 for valeur in nomDict.values():
print valeur
Les dictionnaires
Dictionnaire en compréhension
Exercices
 Écrivez un script qui échange les clés et les valeurs d'un dictionnaire (ce qui
permettra par exemple de transformer un dictionnaire anglais/français en
un dictionnaire français/anglais).

 Soit une phrase entrée par l'utilisateur, sauvegarder dans un dictionnaire


les différents mots de la phrase avec leurs nombres d'occurrence.

 Ecrire un script permettant d'entrer les informations relatives à un nombre


d'étudiants (nom, prénom et note) et créer une structure qui à partir d'un
nom et prénom donnés, permet de déterminer la note

Vous aimerez peut-être aussi