Académique Documents
Professionnel Documents
Culture Documents
Collections
Liste
Les listes (ou list) en python sont une variable dans laquelle on peut mettre
plusieurs variables (les éléments peuvent être quelconques).
• Créer une liste vide: maListe = []; maListe = list()
• Initialiser une liste: maListe = [1,2,3]
• Retourner la taille de une liste: len(maListe)
• Retourner l’élément par l'indice (commence à 0): maListe[2]
• Retourner le dernier élément : maListe[-1]
• Retourner une sous liste: maListe[0:2]
• Insertion des éléments d’une liste: maListe[1:1] = ['x','y']
• Supprimer un élément (par un indice): del maListe[2]
• Inverser la liste : maListe.reverse(); maListe[::-1]
Liste
Copie de liste :
• maListe2 = maListe1 : maListe2 et maListe1 référencent la même liste.
• maListe2 = maListe1[:] : maListe2 est une copie de la liste maListe1.
• maListe2 = list(maListe1) : maListe2 est une copie de la liste maListe1.
Liste
Les tuples c'est comme une liste, sauf que les éléments ne peuvent pas être
changés (immuables), il est impossible de les remplacer ou de les supprimer.
Définition d'un tuple :
• t = ('a', 'b', 2)
• tuple à 0 élément : t = ()
• tuple à 1 élément : t = ('a',) ou t = 'a', avec la virgule dans les 2 cas !
• tuple à 2 éléments : t = ('a', 'b') ou t = 'a', 'b'
• En python, une séquence est : une string (chaîne), une list (liste) ou un tuple.
• in, not in : opérateurs de condition pour savoir si une valeur est présente dans une séquence.
• is, is not : pour savoir si 2 objets mutables (liste) sont réellement les mêmes.
• affectation : du moment que les séquences ont le même nombre d'éléments, on peut faire :
• (x, y, z) = (1, 2, 3)
• [x, y, z] = [1, 2, 3]
• mais aussi (x, y, z) = [1, 2, 3] et [x, y, z] = (1, 2, 3)
• et même : (x, y, z) = 'abc' ou [x, y, z] = 'abc'
Dictionnaire
Un dictionnaire en python est une sorte de liste mais au lieu d'utiliser des
index, on utilise des clés alphanumériques.
• d = {} : initialisation à vide, on peut aussi faire d = dict().
• d = {'toto': 1, 'titi': 2} : initialisation.
• Définir un dictionnaire avec une liste de paires : d = dict([('a', 1), ('b', 2)])
• d['toto'] = 5 : affectation d'une valeur.
• les clefs d'un dictionnaire peuvent être des tuples (de constantes) ! (mais pas des listes)
• del d['toto'] : destruction d'une clef.
• d.keys() : renvoie les clefs sous forme d'une nouvelle liste.
• 'toto' in d ('toto' not in d ) : test de l'existence (non existence ) d'une clef.
• len(d) : renvoie le nombre d'items dans le dictionnaire.
Dictionnaire
Fonctions sur les dictionnaires:
• d.clear() : efface tout.
• d.copy() : shallow copie
• d.get(key) (ou d.get(key, defaultVal) ): renvoie la valeur si clef présente, sinon None (ou defaultVal)
• d.items() : renvoie une copie du dictionnaire sous forme de liste de paires (key, value).
• d.pop(key) (ou d.pop(key, val) ) : enlève la clef et renvoie la valeur si clef n'existe pas KeyError ( ou
val sans lever une exception).
• d.popitem() : renvoie une paire (key, value) au hasard et la retire du dictionnaire.
• d.values() : renvoie une copie de la liste des valeurs.
• d.setdefault(key, defaultVal) : si la clef existe, renvoie sa valeur, si la clef n'existe pas, insère la clef
avec la valeur defaultVal et renvoie sa valeur.
• d.iterkeys().next(): pour avoir une seule clef du dictionnaire
Ensemble
Un Ensemble (ou set) en python est une collection non ordonnée de zéro au plusieurs références d'objets
qui se réfèrent à des objets hachables. Les ensembles sont mutables, facilement ajouter ou supprimer des
éléments, mais comme ils sont désordonnés, ils n'ont aucune notion de position (indice d’élément)
• s = set() : initialisation d'un set avec aucun élément.
• s = set(['a', 'b', 'c']) ou s={'a', 'b', 'c'} ou s = set('abc') : définition d'un set.
• s = frozenset(['a', 'b', 'c']) : définition d'un set non modifiable.
• test si un élément appartient au set : 'a' in s (ou: 'a' not in s).
• ajout d'un élément : s.add('d').
• retrait d'un élément : s.discard('d') ou s.remove('d') (remove donne une exception KeyError si non
présent).
• enlever un élément au hasard et le renvoyer : s.pop()
• récupérer un élément au hasard sans l'enlever : iter(s).next()
• effacer tous les éléments au hasard et le renvoyer : s.clear()
• nombre d'éléments du set : len(s)
Ensemble
Fonctions sur les dictionnaires:
• s.isdisjoint(s2) , s.issubset(s2), s.issuperset(s2)
• s <s2 : inclusion stricte (pareil avec s <= s2, s >= s2, s > s2).
• s.union(s2) : l’union, n'affecte pas les sets de départ (on peut aussi faire s | s2).
• s.intersection(s2) l’intersection(on peut aussi faire s & s2).
• set.union(s1, s2, s3) , set.intersection(s1, s2, s3) : renvoie l’union (intersection) de plusieurs sets (on peut
aussi faire s1 | s2 | s3, s1 & s2 & s3 ).
• s.difference(s2) (on peut aussi faire s - s2).
• s.symmetric_difference(s2) (on peut aussi faire s ^ s2).
• s.copy() : renvoie une shallow copy..
• s.update(s2) : rajoute les éléments à s et modifie s (on peut aussi faire s |= s2).
• s.intersection_update(s2) : l'intersection et modifie s (on peut aussi faire s &= s2).
• s.difference_update(s2) : la différence et modifie s (on peut aussi faire s -= s2).
• s.symmetric_difference_update(s2) : la différence symétrique et modifie s (on peut aussi faire s ^= s2).
Les instructions de contrôle
Les instructions de contrôle
Donc leur rôle est essentiel pour faire des tests dans un programme.
Instructions de contrôle : if
Remarque : le code à exécuter peut être des instructions simples a=b ; ou un bloc
d’instructions a=b ; c=d ; ....
Instructions de contrôle : if
a,b = 4, 5
if a > b:
print("%f est supérieur à %f" % (a,b) )
elif a == b:
print("%f est égal à %f" % (a,b) )
else:
print("%f est inférieur à %f" % (a,b) )
Instructions de contrôle : if
* Si la condition est vraie, alors la valeur de expression1 est fournie comme résultat
* Si la condition est fausse, alors la valeur de expression2 est fournie comme résultat
La boucle peut être considérée comme une répétition de l'instruction de contrôle if.
Les boucles : while
La forme générale d’une boucle while :
while condition:
bloc d’instructions
else:
bloc d’instructions
l'instruction else est exécutée lorsque la condition devient false.
Les boucles : while
count = 0
while count < 5:
print(count, " est inférieur à 5")
count = count + 1
else:
print(count, " n'est pas inférieur à 5“)
Les boucles : for
La forme générale d’une boucle for:
for element in iterateur :
bloc d’instructions
else:
bloc d’instructions
element parcourt l’iterateur qui peut être une liste, un tuple,un fichier, ou tout autre
objet itérable. Un itérable est un objet Python sur lequel est définit un itérateur.
Pour chaque element de cet itérateur, le bloc d’instructions de la boucle est exécuté
l'instruction else est exécutée lorsque la boucle est épuisée.
Les boucles : for
maList=[1,7,5,0,9]
for x in maList:
print(x)
for x in 'abcdef':
print(x)
for i in range(len(maList)):
print(i, x[i])
while True:
pass
Les boucles : break et continue
Une fonction est une suite d'instructions que l'on peut appeler avec un nom.
• Les paramètres sont passés par valeur (mais c'est la référence qui est passée par valeur
quand c'est une variable de type liste ou dictionnaire ou tuple).
• Lorsque vous indiquez des paramètres à une fonction, ces dernièrs doivent
impérativement être renseignés sans quoi une erreur apparaitra.
• On peut définir une fonction avec des valeurs par défaut : def myFunc(a, b=5)
• On peut appeler une fonction avec des arguments précisés par nom : myFunc(a=8)