Édition du: 31/07/2025 |
Faites un double-clic pour un retour en haut de page
PYTHON: Techniques du langage Tuples et dictionnaires Le langage
Python est original par l'introduction des TUPLES et des DICTIONNAIRES. Voyons
de quoi il s'agit et comment s'en servir. |
||
|
Sommaire de cette page >>>
Données >>>
Générateur et Range >>>
Tuple >>>
Dictionnaire |
Débutants Glossaire |
Type
d'objets en Python
Voir Vocabulaire Python
/ Liste et Ensemble
Déclaration sur la même ligne |
a, b, c = 1, 2, 3 print("a =",a,"b =",b,"c =",c) |
a = 1 b = 2 c = 3 |
||
Même valeur |
a = b = c = 18 print("a =",a,"b =",b,"c =",c) |
a = 18 b = 18 c = 18 |
||
Information |
nom, age, pays = "Gérard", 65, "France" print(nom) |
Gérard |
||
Range |
r = range(1, 10, 2) print(list(r)) |
[1, 3, 5, 7, 9] |
|
Exemple Suite des
nombres premiers |
def est_premier(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0: return False
return True for x in range(2, 31):
if est_premier(x):
print(x) |
2 3 5 7 11 13 17 19 23 29 |
|
Générateur |
gen = (x*x for x in range(5)) for val in gen:# pas de parenthèses
print(val) |
0 1 4 9 16 |
|
Exemple Suite des
nombres impairs au carré |
def carres_impairs(limite):
for x in range(1, limite):
if x % 2 == 1: yield x * x for val in carres_impairs(20):
print(val) |
1 9 25 49 81 121 169 225 289 361 |
|
Voir Définitions de
Générateur et Range
Séquence |
Enregistrement de données que l'on peut parcourir
séquentiellement. Typiquement une liste de nombres. Certaines peuvent être modifiées et d'autres non. |
||
Tuple |
Séquence (Liste) non modifiable |
T = (1, 5, 10) |
|
Définition et impression |
T = (1, 5, 10, "Nathan", 321) for t in T:
print(t) |
1 5 10 Nathan 321 |
|
Accès aux éléments |
T = (1, 5, 10, "Nathan", 321) print(T[0]) print(T[-1]) print(T[1:]) print(T[:-2]) |
1 321 (5, 10, 'Nathan', 321) (1, 5, 10) |
|
Quantité d'éléments |
T = (1, 5, 10, "Nathan", 321) print(len(T)) |
5 |
|
Dictionnaire |
Structure de données particulière au langage
Python. Il permet de regrouper des éléments par paires,
comme un nom avec un âge, une personne et sa ville, etc.
|
||||
Dictionnaire Simple Note Premier: clé Second: valeur |
personne = { "nom": "Gérard", "âge": 42, "ville": "Nice" } print(personne["nom"]) print(personne["ville"])
|
Gérard Nice |
|||
Affichage d'un dictionnaire |
d = {"nom": "Nathan", "âge": 12, "ville": "Paris"} print(", ".join(f"{k}: {v}" for k, v in d.items())) |
|
|||
|
nom: Nathan, âge: 12, ville: Paris |
||||
Énumération |
n = (123, 156,'banane','radar') m = enumerate(n) print(list(m)) |
[(0, 123), (1, 156), (2, 'banane'), (3, 'radar')] |
|||
Voir Création d'un
dictionnaire à partir de deux listes
Nouvelle entrée et modification |
P = { "nom": "Gérard", "âge": 42, "ville": "Nice" } P["profession"] = "Banquier" P["âge"] = 66 print(P) |
{'nom': 'Gérard', 'âge': 66, 'ville':
'Nice', 'profession': 'Banquier'} |
||
Exemple complet |
client = [ {"N":"Gérard","A": 42,"V":"Nice"}, {"N":"Alice","A": 32,"V":"Lyon"}, {"N":"Nathan","A": 12,"V":"Nantes"}, {"N":"Alexis","A": 29,"V":"Lyon"} ] for p in client: print(f"{p['N']} – {p['A']} ans – {p['V']}") |
|
||
|
|
Gérard – 42 ans – Nice Alice – 32 ans – Lyon Nathan – 12 ans – Nantes Alexis – 29 ans – Lyon |
||
client = [ {"N":"Gérard","A": 42,"V":"Nice"}, {"N":"Alice","A": 32,"V":"Lyon"}, {"N":"Nathan","A": 12,"V":"Nantes"}, {"N":"Alexis","A": 29,"V":"Lyon"} ] print(f"{'Nom':<10} {'Âge':<5} {'Ville'}") print("-" * 30) for p in client: print(f"{p['N']:<10} {p['A']:<5} {p['V']}") |
|
|||
|
|
|
||
Élimination d'éléments Un élément spécifique ou le dernier |
D = {"Papa" : "Georges",
"Maman" : "Sylvie",
"Fils" : "Nathan",
"Fille" : "Louise" } del D["Fils"] print(D) D.popitem() print(D) |
{'Papa': 'Georges',
'Maman': 'Sylvie', 'Fille': 'Louise'} {'Papa': 'Georges',
'Maman': 'Sylvie'} Note: popitem() est
surtout utile pour dépiler progressivement un dictionnaire. |
Fusion avec l'un des dictionnaires |
D1 = {"A" : 123,
"B" : 456} D2 = {"C" : "Nathan",
"D" : "Louise"} D1.update(D2) print(D1) |
{'A': 123, 'B': 456,
'C': 'Nathan', 'D': 'Louise'} |
Fusion Pour faire la barre verticale: AltGr 6 |
D = D1|D2 print(D) |
{'A': 123, 'B': 456,
'C': 'Nathan', 'D': 'Louise'} Note: on peut aussi
commander: |
Aussi |
D = {**D1,**D2} print(D) |
{'A': 123, 'B': 456,
'C': 'Nathan', 'D': 'Louise'} Note: on peut aussi commander: |
Avec des listes et calculs |
Notes = { "Maths": [15, 17, 14], "Physique": [12, 16], "Anglais": [19] } S = sum(Notes["Maths"]) L = len(Notes["Maths"]) M = S / L print("Moy. Maths :", f"{M:.2f}") |
Moy. Maths : 15.33 Note Le .2f indique de limiter l'impression à deux
décimales. |
Tri selon la clé Sensible à la casse. |
D = {"Papa" : "Georges",
"Maman" : "Sylvie",
"Fils" : "Nathan",
"Fille" : "Louise" } for k in sorted(D.keys()):
print(k, "->", D[k]) |
Fille -> Louise Fils -> Nathan Maman -> Sylvie Papa -> Georges |
Haut de page (ou
double-clic)
Retour |
|
Suite |
|
Voir |
|
Sites |
|
Cette page |