0% ont trouvé ce document utile (0 vote)
21 vues25 pages

Pythonte

cour

Transféré par

omarhassen793
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues25 pages

Pythonte

cour

Transféré par

omarhassen793
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Tuples et Dictionaries

Ghardallou Amina
AU: 2024/2025
Tuples
Les tuples sont écrits entre parenthèses comme suit :

t0=1,
t1 = (1, 2, 3)
t2 = (“a”, “b”, “c”, ”d”)
t3 = (200, “A”, [4, 5], 3.2)
3.2
print(t0)
print(t1)
print(t2)
print(t3)
Tuples
• Les tuples sont très similaires aux listes, mais ils sont immuables
Tuples
Comme les listes, les tuples peuvent :
• Contenir tous types d'éléments
• Contenir des éléments en double (par exemple: (1, 1, 2))
• Être indexé exactement de la même manière (c'est-à-dire
(c'est en utilisant les
crochets [])
• Être découpé exactement de la même manière (c'est-à-dire
(c'est en utilisant la
notation [::])
• Être concaténé (par exemple, t = (1, 2, 3) + (" a ", " b ", " c "))
• Être répété (par exemple, t = (« a », « b ») * 10)
• Être imbriqué (par exemple, t = ((1, 2), (3, 4), ((" a", " b ", " c "), 3.4))
Exemples
Cela affichera les éléments de t1 dans
t1 = ("a", "b", "c") un ordre inversé, mais ne changera pas
print(t1[::-1]) t1 lui-même puisqu'il est immuable
t2 = ("a", "b", "c")
t3 = t1 + t2 Cela concaténera t1 et t2 et
print(t3) attribuera le résultat à t3 (encore
t3 = t3 * 4 une fois, t1 et t2 resteront inchangés
print(t3) puisqu'ils sont immuables)
Cela répétera t3 quatre fois et
for i in t3: attribuera le résultat à t3. Ainsi,
print(i, end = " ") t3 sera écrasé (c'est-à-dire NON
modifié sur place - car il est
print() immuable -, mais redéfini avec une
nouvelle valeur)
Exemples
Ceci est un exemple d'imbrication, où
t4 = ((1, 2, 3), ("a", "b", "c")) une matrice de 2 lignes et 3 colonnes
for j in t4: est créée. La première rangée
for k in j: comprend les éléments 1, 2 et 3. La
print(k,end = " ") deuxième rangée comprend les
print() éléments “a”, “b”, and “c”.

Cette boucle externe parcourt chaque


Cette boucle interne parcourt élément de t4 ; c'est-à-dire qu'il
chaque élément lu par la boucle obtient d'abord l'élément (1, 2, 3) et
externe ; c'est-à-dire qu'il parcourt ensuite l'élément (“a”, “b”, “c”)
d'abord les éléments de l'élément
(1, 2, 3), et ensuite il parcourt les
éléments de l'élément (“a”, “b”, “c”)
Examples
Ce changement sur t reste local à la fonction
def func1(t): puisqu'une valeur de t a été passée et non une
t=t*2 référence à celle-ci
celle
t = (1, 2, 3)
Cela affichera (1, 2, 3)
print(t)
func1(t)
print(t) Cela affichera également (1, 2, 3)
puisque les tuples sont immuables
et présenteront donc toujours un
comportement transmis par valeur.
Fonctions et Tuples
• You can also use functions with tuples
La fonction count(x) renvoie le nombre
t1 = (1, 2, 3, 1, 5, 1) d'éléments avec la valeur spécifiée x (par
print([Link](1)) exemple, x vaut 1 dans cet exemple)
print([Link](1))
Output: La fonction index(x) renvoie l'index du
3 premier élément avec la valeur spécifiée x
0 (par exemple, x est 1 dans cet exemple)

En fait, Python n'a que ces deux fonctions intégrées qui peuvent
être utilisées sur les tuples
QCM
a. Pour la fonction suivante, quel code python ne permet pas de renvoyer un 2-uplet
2 (couple) contenant a et b
def ma_fonction(x) :
a=x*2
b=x*3
* [ ] return a, b * [ ] return (a, b) * [ ] return (b, a) * [ ] return [a, b]

b. Soit le tuple défini de la façon suivante :


mon_tuple = (4,5,3,7,8)
L'instruction mon_tuple[2] = 4 :
[ ] remplace l'élément 2 par 4
[ ] léve une exception
[ ] remplace par 4 l'élément d'indice 2
[ ] remplace l'élément 5 par 4

c. Soit la liste suivante : notes_eleves = [('Marie', 10), ('Lucas', 15), ('Lea',


(' 19), ('Theo', 8)]
Quel est le type de notes_eleves ?
[ ] int
[ ] list
[ ] tuple
[ ] autre chose
QCM

d. Parmi ces expressions laquelle est évaluée à True


[ ] (1,) == (1)
[ ] [ (1,) ] [0][0] == 1
[ ] [ (1), ] [0][0] == 1
[ ] 1 == 1,

e. Dans l'interpréteur python, on saisit les instructions :


a= (42, 666, 69)
a[2] = 1789
Alors :
a vaut maintenant (42, 666, 1789).
a vaut maintenant (42, 1789, 69).
On obtient une erreur 'tuple' object does not support item assignment.
On obtient une erreur out of range.
Dictionnaires
• Les listes et les tuples contiennent des éléments avec uniquement des
indices entiers
45 “Coding” 4.5 7 89

Integer 0 1 2 3 4

Indices
• Donc, en substance, chaque élément a un index (ou une clé) qui ne peut
être qu'un entier et une valeur qui peut être de n'importe quel type (par
exemple, dans la liste/tuple ci-dessus,
dessus, le premier élément a la clé 0 et la
valeur 45)
• Que se passe-t-ilil si nous voulons stocker des éléments avec des indices (ou
des clés) non entiers ?
Dictionnaires
• En Python, vous pouvez utiliser un dictionnaire pour stocker des éléments avec des
clés de tous types (pas nécessairement uniquement des entiers comme des listes
et des tuples)) ainsi que des valeurs de tous types.

45 “Coding” 4.5 7 89
“NUM” 1000 2000 3.4 “XXX”

keys of different types Values of different types


• Le dictionnaire ci-dessus
dessus peut être défini en Python comme suit :
dic = {"NUM":45, 1000:"coding", 2000:4.5,
2000 3.4:7, "XXX":89}

key value
Chaque élément est une paire clé:valeur et les éléments sont séparés par des virgules
Dictionnaires
• Finalement, le dictionnaire:
• Peut contenir n'importe quel type d'éléments (c'est-à-dire
(c'est des clés et des
valeurs)
• Peut contenir uniquement des clés uniques mais des valeurs en double
dic2 = {"a":1, "a":2, "b":2}
Output: {'a': 2, 'b': 2}
print(dic2)

L'élément "a":2 remplacera l'élément "a":1


car un seul élément peut avoir la clé "a"
• Peut être indexé mais uniquement via des clés (c'est-à-dire
(c'est que dic2["a"]
renverra 1 mais dic2[0] renverra une erreur car il n'y a aucun élément avec la clé
0 dans dic2 ci-dessus)
Dictionnaires
• Finalement, les dictionnaires:
• NE PEUT PAS être concaténé
• NE PEUT PAS être répété
• Peut être imbriqué (par exemple, d = {"first":{1:1}, "second":{2:"a"}}
• Peut être transmis à une fonction et entraînera un comportement de passage par référence
et non de passage par valeur car il est muable (comme les listes)

def func1(d):
d["first"] = [1, 2, 3]
Output:
dic = {"first":{1:1},
"second":{2:"a"}} {'first': {1: 1}, 'second': {2: 'a'}}
print(dic) {'first': [1, 2, 3], 'second': {2: 'a'}}
func1(dic)
print(dic)
Dictionnaires
• Les dictionnaires:
• Peuvent être itéré
dic = {"first": 1, "second": 2, "third": 3}
for i in dic:
print(i)

first ONLY the keys will be returned.


Output: second
third How to get the values?
Dictionnaires
• Les dictionnaires:
• Peuvent être itéré
dic = {"first": 1, "second": 2, "third": 3}
for i in dic:
print(dic[i])

1
Output: 2 Values can be accessed via indexing!
3
Dictionnaires
• Les dictionnaires:
• Peuvent être itéré
dic = {"first": 1, "second": 2, "third": 3}
for i,j in [Link]():
print(i,j)

first 1
Output: second 2 Key,Values can be accessed via [Link]()
third 3
Ajout d'éléments à un dictionnaire
• Comment ajouter des éléments à un dictionnaire ?
• En indexant le dictionnaire via une clé et en attribuant une valeur
correspondante
dic = {"first": 1, "second": 2, "third": 3}
print(dic)
dic["fourth"] = 4
print(dic)

{'first': 1, 'second': 2, 'third': 3}


Output:
{'first': 1, 'second': 2, 'third': 3, 'fourth': 4}
Ajout d'éléments à un dictionnaire
• Comment ajouter des éléments à un dictionnaire ?
• En indexant le dictionnaire via une clé et en attribuant une valeur
correspondante
dic = {"first": 1, "second": 2, "third": 3}
print(dic)
dic[”second"] = 4 Si la clé existe déjà,
print(dic) la valeur sera
remplacée

{'first': 1, 'second': 2, 'third': 3}


Output:
{'first': 1, 'second’: 4, 'third': 3}
Suppression d'éléments dans un dictionnaire
• Comment supprimer des éléments dans un dictionnaire?
dictionnaire
• En utilisant del

dic = {"first": 1, "second": 2, "third": 3} Output:


print(dic)
dic["fourth"] = 4 {'first': 1, 'second': 2, 'third': 3}
print(dic) {'first': 1, 'second': 2, 'third': 3, 'fourth': 4}
del dic["first"] {'second': 2, 'third': 3, 'fourth': 4}
print(dic)
Suppression d'éléments dans un dictionnaire
• Comment supprimer des éléments dans un dictionnaire?
dictionnaire
• En utilisant la fonction pop(key)

dic = {"first": 1, "second": 2, "third": 3} Output:


print(dic)
dic["fourth"] = 4 {'first': 1, 'second': 2, 'third': 3}
print(dic) {'first': 1, 'second': 2, 'third': 3, 'fourth': 4}
[Link](“first”) {'second': 2, 'third': 3, 'fourth': 4}
print(dic)
Dictionnaire et Fonctions
• De nombreuses autres fonctions peuvent également être utilisées
avec des dictionnaires
Function Description
[Link]() Removes all the elements from dictionary dic
[Link]() Returns a copy of dictionary dic
[Link]() Returns a list containing a tuple for each key-value
key pair in
dictionary dic
[Link](k) Returns the value of the specified key k from dictionary dic
[Link]() Returns a list containing all the keys of dictionary dic
[Link](k) Removes the element with the specified key k from dictionary
dic
Dictionnaire et Fonctions
• De nombreuses autres fonctions peuvent également être utilisées
avec des dictionnaires
Function Description
[Link]() Removes the last inserted key-value
key pair in dictionary dic
[Link]() Returns a list of all the values in dictionary dic

[Link](items updates the dictionary with the elements from another


) dictionary object or from an iterable of key/value pairs.

Vous aimerez peut-être aussi