Aller au contenu

Python Première

Bases de Python

Tableaux

Création, lecture et écriture

tab = [5, 4, 12, -83, 2]     # (1)!
print(tab[0])    # (2)!
print(tab[1])    # (3)!
print(len(tab))    # (4)!
print(tab[len(tab) - 1])    # (5)!
tab[2] = 0    # (6)!
print(tab)    # Affiche [5, 4, 0, -83, 2]
  • Un tableau est une suite de cases contigues en mémoire numérotées par des indices(7)
    • Le premier élément est à l'indice 0(8)
    • Le deuxième élément est à l'indice 1(9)
  • La fonction len permet d'obtenir le nombre de cases(10)
    • Le dernier élément est à l'indice len(tab) - 1(11)
  • On peut modifier le contenu d'une case d'un indice avec une affectation(12)
QCM

Question

  • On définit un tableau avec le code suivant :
    tab = [2, 6, 5, 1, 10]
    
    Cocher les affirmations qui sont vraies :

    • tab a une longueur de 5

    • tab a une longueur de 4

    • l'élément à l'indice 1 est 2

    • l'élément à l'indice 1 est 6

    • la valeur 10 est à l'indice 5

    • la valeur 10 est à l'indice 4

    • il n'y a pas d'élément à l'indice 5

  1. Un tableau est une suite de cases contigues en mémoire numérotées par des indices
  2. Le premier élément est à l'indice 0
  3. Le deuxième élément est à l'indice 1
  4. La fonction len permet d'obtenir le nombre de cases
  5. Le dernier élément est à l'indice len(tab) - 1
  6. On peut modifier le contenu d'une case d'un indice avec une affectation
  7. tab = [5, 4, 12, -83, 2]
    
  8. print(tab[0])
    
  9. print(tab[1])
    
  10. print(len(tab))
    
  11. print(tab[len(tab) - 1])
    
  12. tab[2] = 0
    print(tab)    # Affiche [5, 4, 0, -83, 2]
    

Parcours des tableaux

for i in range(len(tab)):    # (1)!
    print(tab[i])    # (2)!

for val in tab:    # (3)!
    print(val)     # (4)!
  • Parcours par indice : de 0 inclus à len(tab) exclu(5)
    • On accède aux valeurs en utilisant les crochets(6)
  • Parcours par valeurs : la variable de boucle contient directement les valeurs(7)
    • On a pas accès à l'indice de la valeur et on ne peut pas modifier les valeurs(8)
  1. Parcours par indice : de 0 inclus à len(tab) exclu
  2. On accède aux valeurs en utilisant les crochets
  3. Parcours par valeurs : la variable de boucle contient directement les valeurs
  4. On a pas accès à l'indice de la valeur et on ne peut pas modifier les valeurs
  5. for i in range(len(tab)):
    
  6.     print(tab[i])
    
  7. for val in tab:
    
  8.     print(val)
    

Construction de listes et compréhension

L = []  # (1)!
for i in range(100): # (2)!
    L.append(i)
print(L)  # Affiche [0, 1, 2, ..., 99]
L = [i for i in range(100)] # (3)!
  • Créer une liste vide(4)
  • Ajout de valeurs en fin de liste avec append(5)
  • La compréhension permet de créer une liste à partir d'une expression et d'une boucle en une seule ligne(6)
  1. Créer une liste vide
  2. Ajout de valeurs en fin de liste avec append
  3. La compréhension permet de créer une liste à partir d'une expression et d'une boucle en une seule ligne
  4. L = []
    
  5. for i in range(100):
        L.append(i)
    print(L)  # Affiche [0, 1, 2, ..., 99]
    
  6. L = [i for i in range(100)]
    

Tableaux à 2 dimensions

grille = [[1, 2], [3, 4], [5, 6]] # (1)!
print(grille[0]) # (2)!
print(grille[0][1]) # (3)!
print(len(grille)) # (4)!
print(len(grille[0])) # (5)!
grille = [[0 for j in range(10)] for i in range(5)] # (6)!
  • On représente une grille comme un tableau de ses lignes :
    1 2
    3 4
    5 6
    (7)
  • La première ligne [1, 2] est accessible à l'indice 0(8)
  • Le 4 est accessible à l'indice 1 de la première ligne(9)
  • Nombre de lignes(10)
  • Nombre de colonnes(11)
  • Créer un tableau 2D de 5 lignes et 10 colonnes rempli de zéros
    Attention : ne pas utiliser l'opérateur * qui ne copie pas les lignes(12)
  1. On représente une grille comme un tableau de ses lignes :
    1 2
    3 4
    5 6
  2. La première ligne [1, 2] est accessible à l'indice 0
  3. Le 4 est accessible à l'indice 1 de la première ligne
  4. Nombre de lignes
  5. Nombre de colonnes
  6. Créer un tableau 2D de 5 lignes et 10 colonnes rempli de zéros
    Attention : ne pas utiliser l'opérateur * qui ne copie pas les lignes
  7. grille = [[1, 2], [3, 4], [5, 6]]
    
  8. print(grille[0])
    
  9. print(grille[0][1])
    
  10. print(len(grille))
    
  11. print(len(grille[0]))
    
  12. grille = [[0 for j in range(10)] for i in range(5)]
    

Parcours des tableaux 2D

for i in range(len(grille)):  # (1)!
    for j in range(len(grille[0])):  # (2)!
        print(grille[i][j]) # (3)!

for ligne in grille: # (4)!
    for val in ligne:
        print(val) # (5)!
  • Parcours par indice(6)
    • Attention au nombre de colonnes qui nécessite des crochets(7)
    • On doit utiliser les doubles crochets consécutifs pour accéder aux valeurs(8)
  • Parcours par valeurs(9)
    • On ne peut pas modifier les valeurs avec ce parcours(10)
  1. Parcours par indice
  2. Attention au nombre de colonnes qui nécessite des crochets
  3. On doit utiliser les doubles crochets consécutifs pour accéder aux valeurs
  4. Parcours par valeurs
  5. On ne peut pas modifier les valeurs avec ce parcours
  6. for i in range(len(grille)):
    
  7.     for j in range(len(grille[0])):
    
  8.         print(grille[i][j])
    
  9. for ligne in grille:
        for val in ligne:
    
  10.         print(val)
    

Tuples

Bases des tuples

T = ("Kévin", 12, 10, 2010)  # (1)!
print("Prénom :", T[0])  # (2)!
print("Né le", T[1], "/", T[2], "/", T[3])
T = ("Kévin", 12, 10, 2009)  # (3)!
  • Un tuple est comme un tableau mais de taille fixe, on ne peut pas modifier les valeurs stockées avec les [](4)
  • On accède à une valeur avec les crochets son indice comme pour un tableau(5)
  • Pour modifier une valeur on doit réécrire tout le tuple(6)
  1. Un tuple est comme un tableau mais de taille fixe, on ne peut pas modifier les valeurs stockées avec les []
  2. On accède à une valeur avec les crochets son indice comme pour un tableau
  3. Pour modifier une valeur on doit réécrire tout le tuple
  4. T = ("Kévin", 12, 10, 2010)
    
  5. print("Prénom :", T[0])
    print("Né le", T[1], "/", T[2], "/", T[3])
    
  6. T = ("Kévin", 12, 10, 2009)
    

Dictionnaires

Bases des dictionnaires

dico = {"Nathan": 14, "Eva": 12, "Camille": 18}  # (1)!
print(dico["Camille"])  # (2)!
dico["Nathan"] = 17  # (3)!
dico["Dominique"] = 15  # (4)!
if "Laura" in dico:  # (5)!
    print("Laura était présente et a eu la note", dico["Laura"])
if "Michel" not in dico:  # (6)!
    print("Michel était absent au devoir")
  • Un dictionnaire est une sorte de tableau qui utilise des clés plutôt que des indices pour accéder aux valeurs. Les clés sont uniques et peuvent être des chaînes de caractères, des nombres, des tuples etc. Les valeurs peuvent être de n'importes quels types.(7)
  • On lit une valeur en utilisant les crochets et la clé correspondante(8)
  • On modifie une valeur comme pour un tableau avec la clé correspondante(9)
  • Pour ajouter une valeur, on fait comme si on modifiait la valeur en utilisant une nouvelle clé(10)
  • On peut tester l'existence d'une clé avec l'opérateur in(11)
  • On peut tester l'absence d'une clé avec not in(12)
  1. Un dictionnaire est une sorte de tableau qui utilise des clés plutôt que des indices pour accéder aux valeurs. Les clés sont uniques et peuvent être des chaînes de caractères, des nombres, des tuples etc. Les valeurs peuvent être de n'importes quels types.
  2. On lit une valeur en utilisant les crochets et la clé correspondante
  3. On modifie une valeur comme pour un tableau avec la clé correspondante
  4. Pour ajouter une valeur, on fait comme si on modifiait la valeur en utilisant une nouvelle clé
  5. On peut tester l'existence d'une clé avec l'opérateur in
  6. On peut tester l'absence d'une clé avec not in
  7. dico = {"Nathan": 14, "Eva": 12, "Camille": 18}
    
  8. print(dico["Camille"])
    
  9. dico["Nathan"] = 17
    
  10. dico["Dominique"] = 15
    
  11. if "Laura" in dico:
        print("Laura était présente et a eu la note", dico["Laura"])
    
  12. if "Michel" not in dico:
        print("Michel était absent au devoir")
    

Parcours des dictionnaires

for cle in dico:  # (1)!
    print(cle, ":", dico[cle])

for val in dico.values():  # (2)!
    print(val)

for cle, val in dico.items():  # (3)!
    print(cle, ":", val)
  • Attention : ne pas confondre avec le parcours par valeurs des tableaux(4)
  • Le parcours par valeur ne permet pas de modifier le dictionnaire. Ne pas oublier les parenthèses (c'est une fonction)(5)
  • Le parcours items permet d'avoir les clés et les valeurs en même temps dans des variables(6)
  1. Attention : ne pas confondre avec le parcours par valeurs des tableaux
  2. Le parcours par valeur ne permet pas de modifier le dictionnaire. Ne pas oublier les parenthèses (c'est une fonction)
  3. Le parcours items permet d'avoir les clés et les valeurs en même temps dans des variables
  4. for cle in dico:
        print(cle, ":", dico[cle])
    
  5. for val in dico.values():
        print(val)
    
  6. for cle, val in dico.items():
        print(cle, ":", val)
    

Dictionnaire d'occurrences

def occurrences(texte):  # (1)!
    occ = {}  # (2)!
    for car in texte:
        if car not in occ:  # (3)!
            occ[car] = 1
        else:               # (4)!
            occ[car] += 1
print(occurrences("TEXTE ICI"))  # (5)!
  • Le dictionnaire d'occurrences d'un texte est un dictionnaire dont les clés sont les caractères du texte et les valeurs le nombre de fois que le caractère correspondant apparaît dans le texte(6)
  • On part d'un dictionnaire vide et on parcourt le texte(7)
    • Si c'est la première fois qu'on a vu le caractère, on initialise la valeur à 1(8)
    • Si on l'a déjà vu, on augmente la valeur de 1(9)
  • Sur "TEXTE ICI" renvoie
    {"T": 2, "E": 2, "X": 1, " ": 1, "I": 2, "C": 1}(10)
  1. Le dictionnaire d'occurrences d'un texte est un dictionnaire dont les clés sont les caractères du texte et les valeurs le nombre de fois que le caractère correspondant apparaît dans le texte
  2. On part d'un dictionnaire vide et on parcourt le texte
  3. Si c'est la première fois qu'on a vu le caractère, on initialise la valeur à 1
  4. Si on l'a déjà vu, on augmente la valeur de 1
  5. Sur "TEXTE ICI" renvoie
    {"T": 2, "E": 2, "X": 1, " ": 1, "I": 2, "C": 1}
  6. def occurrences(texte):
    
  7.     occ = {}
        for car in texte:
    
  8.         if car not in occ:
                occ[car] = 1
    
  9.         else:
                occ[car] += 1
    
  10. print(occurrences("TEXTE ICI"))
    

Données en tables