Les types construits

Les types construits contiennent des éléments qui peuvent être de type quelconque, éventuellement de types différents. Ce sont les tuples, les tableaux et les dictionnaires.

Le type tuple

Les tuples sont délimités par des parenthèses ( ) et les éléments sont séparés par une virgule.

In [ ]:
coordGPS = (49.1785935, -0.3819152)

Chaque élément possède un indice.

In [ ]:
latitude = coordGPS[0]
print(latitude)

Afficher la longitude de la coordonnée GPS.

In [ ]:
 

Un tuple est un objet non mutable, on ne peut pas modifier la valeur d'un élément, ajouter ou supprimer des éléments à un tuple.

In [ ]:
coordGPS[0] = 1

On peut concaténer deux tuples.

In [ ]:
t1 = ('Alice', 1969)
t2 = ('Bob', 1982)
t3 = t1 + t2
print(t3)

On peut compter les occurences d'un élément, le nombre d'éléments du tuple, tester l'appartenance d'un élément au tuple, comme pour une chaîne de caractères.

Afficher le nombre d'élements du tuple t3.

In [ ]:
 

Tester si la chaîne de caractères 'Bob' appartient au tuple t1.

In [ ]:
 

Tester si la chaîne de caractères 'Bob' appartient au tuple t2.

In [ ]:
 

Compter les occurences du nombre 1969 dans le tuple t3.

In [ ]:
 

Le type list

Le type list en python est un tableau ou communément appelé liste. Les listes sont délimités par des crochets [ ], et les éléments sont séparés par une virgule.

In [ ]:
list_1 = [1, 15, 8, 6, 1972, 150, 50, 1]
list_2 = [9, 2]
list_2

Création d'une liste vide

In [ ]:
list_3=[]
list_3

Comme pour les tuple, chaque élément d'une liste possède un indice (0 pour le premier et -1 pour le dernier).

Afficher l'élément d'indice 2 de la liste list_1.

In [ ]:
 

Afficher l'avant dernier élément de la liste list_1.

In [ ]:
 

Les listes sont des objets mutables. On peut modifier la valeur de chaque élément, ajouter ou supprimer des éléments à la liste.

In [ ]:
list_1[0] = 20
print(list_1)
In [ ]:
del list_1[0] # suppression de l'élément d'indice 0 de la liste list_1
list_1

La méthode append() ajoute un élément en fin de liste.

In [ ]:
list_1.append(30) # ajout de l'élément 30, en fin de liste list_1
list_1

Comme pour les chaînes de caractères, il est possible d'obtenir des parties de listes.

In [ ]:
list_1[:3]
In [ ]:
list_1[3:]
In [ ]:
list_1[2:5]

Une liste peut contenir une liste.

In [ ]:
list_2.append([2, 5, 'Bob'])
list_2

Remplacer l'élément d'indice 1 par l'élément 'Alice' dans la liste list_2 et vérifier le résultat.

In [ ]:
 

Ajouter l'élément 50 à la fin de la liste list_2 et vérifier le résultat.

In [ ]:
 

Afficher la longueur de la liste list_2.

In [ ]:
 

Afficher la longueur de la liste d'indice 2 de la liste list_2.

In [ ]:
 

Création d'une liste

In [ ]:
list_4=[0]*10
list_4

Création d'une ligne par compréhension

In [ ]:
list_5=[i for i in range(10)] # lors de la création de la liste, la liste est ajustée automatiquement au nombre de valeurs
list_5

Méthodes pour les listes

La méthode append() ajoute un élément en fin de liste.

In [ ]:
list_5.append(10)
list_5

La méthode insert() permet de spécifier l'indice où insérer un élément (insert(indice, element)).

In [ ]:
list_5.insert(2, 500)
list_5

La méthode extend() permet de réaliser la concaténation de deux listes sans réaffectation (L1.extend(L2) au lieu de L3 = L1 + L2), mais dans ce cas la liste est modifiée.

In [ ]:
list_6 = [200, 150, 20, 3, 200, 3]
list_5.extend(list_6)
list_5

La méthode remove() supprime la première occurence de la valeur passée en paramètre.

In [ ]:
list_5.remove(3)
list_5

La methode pop() supprime l'élément dont l'indice est passée en paramètre.

In [ ]:
list_5.pop(11)
list_5

La méthode sort() permet de trier la liste.

In [ ]:
list_5.sort()
list_5

La méthode reverse() permet d'inverser l'ordre des éléments de la liste.

In [ ]:
list_5.reverse()
list_5

La methode index() permet d'obtenir l'indice de la première occurence d'un élément de la liste.

In [ ]:
list_5.index(3)

Copie de liste

Pour copier une liste, on ne peut pas simplement écrire L2 = L1, sinon toute modification de l'une entraîne une modification de l'autre. Les listes L1 et L2 pointent vers la même zone mémoire.

In [ ]:
list_6 = [1, 2, 3, [2, 5]]
list_7 = list_6
list_7.append(4)
print(f'list_6 =', list_6)
print(f'list_7 =', list_7)

La méthode list() permet de copier une liste.

In [ ]:
list_8 = list(list_6)
list_8.append('Bob')
print(f'list_6 =', list_6)
print(f'list_8 =', list_8)

Une liste peut aussi être copiée par compréhension.

In [ ]:
list_9 = [i for i in list_6]
print(list_9)
In [ ]:
list_9.append('Alice')
print(f'list_6 =', list_6)
print(f'list_9 =', list_9)

Le type dict

Un dictionnaire est défini par des accolades { }. C'est un ensemble de paires clé-valeur. Chaque ensemble clé-valeur est séparé par une virgule, une valeur est associé une clé par deux points :.

In [ ]:
dict_1 = {'Alice' : 'Morbihan', 'Bob' : 'Finistère', 'Arthur' : ['Paris', 'Versailles']}
dict_1

Pour récupérer une valeur, il faut utiliser la clé. Les indices ne peuvent pas être utilisés.

In [ ]:
dict_1['Alice']

Pour rajouter une valeur, il faut indiquer la clé et la valeur.

In [ ]:
dict_1['Paul'] = 'Angers'
dict_1

Les dictionnaires sont des objets mutables. On peut modifier la valeur d'une clé.

In [ ]:
dict_1['Bob'] = 'Creuse'
dict_1

Il est possible de supprimer une entrée en indiquant sa clé.

In [ ]:
del dict_1['Arthur']
dict_1

La méthode get() permet de récupérer une valeur dans un dictionnaire à partir de sa clé.

In [ ]:
dict_1.get('Bob')

Si la clé est introuvable, rien n'est renvoyé.

In [ ]:
dict_1.get('Bernard')

Il est possible de donner une valeur par défaut si la clé est introuvable.

In [ ]:
dict_1.get('Bernard', 'Pas trouvé')

Pour vérifier la présence d'une clé, on utilise in.

In [ ]:
'Bob' in dict_1
In [ ]:
'Adrien' in  dict_1

Pour récupérer les clés, on utilise la méthode keys().

In [ ]:
dict_1.keys()
In [ ]:
for cle in dict_1.keys():
    print(cle)

La méthode values() permet de récupérer les valeurs.

In [ ]:
dict_1.values()

Afficher toutes les valeurs du dictionnaire dict_1 à l'aide d'une boucle for.

In [ ]:
 

La méthode items() permet de récupérer les clés et les valeurs.

Afficher toutes les clés et les valeurs du dictionnaire dict_1 à l'aide d'une boucle for.

In [ ]:
 

Il est possible d'utiliser des tuples comme clé.

In [ ]:
dict_2 = {}
dict_2[(1, 2)] = 85
dict_2[(3, 9)] = 42
dict_2