Exercice 1 : Création et initialisation d'une liste
Générez une liste vide appelée donnees_utilisateurs et insérez-y les éléments conducteur_principal, precipitation, jacques, shanshan, peqi, utilisateur_feminin.
donnees_utilisateurs = ["conducteur_principal", "precipitation", "jacques", "shanshan", "peqi", "utilisateur_feminin"]
print(donnees_utilisateurs)
Exercice 2 : Insertion d'un élément avant une position spécifique
Ajoutez l'élément alexandre immédiatement avant utilisateur_feminin dans la liste donnees_utilisateurs.
cible = "utilisateur_feminin"
index_cible = donnees_utilisateurs.index(cible)
donnees_utilisateurs.insert(index_cible, "alexandre")
print(donnees_utilisateurs)
Exercice 3 : Modification d'un élément existant
Remplacez l'entrée shanshan par sa version sinisée 张三 dans la liste.
cle = "shanshan"
position = donnees_utilisateurs.index(cle)
donnees_utilisateurs[position] = "张三"
print(donnees_utilisateurs)
Exercice 4 : Insertion d'une sous-liste
Insérez une sous-liste ["vieux_garcon", "vieux_fille"] après l'élément precipitation.
index_ref = donnees_utilisateurs.index("precipitation")
donnees_utilisateurs.insert(index_ref + 1, ["vieux_garcon", "vieux_fille"])
print(donnees_utilisateurs)
Exercice 5 : Recherche d'indice
Identifiez et affichez l'indice de l'élément peqi dans la liste.
indice_peqi = donnees_utilisateurs.index("peqi")
print(indice_peqi)
Exercice 6 : Extension de la liste
Fusionnez la liste [10, 20, 30, 40, 20, 50, 60, 20] avec donnees_utilisateurs.
supplement = [10, 20, 30, 40, 20, 50, 60, 20]
donnees_utilisateurs.extend(supplement)
print(donnees_utilisateurs)
Exercice 7 : Extraction par découpe
Extrayez les éléments aux indices de 4 à 7 (inclus) de la liste.
segment = donnees_utilisateurs[4:8]
print(segment)
Exercice 8 : Découpe avec pas
Obtenez les éléments des indices 2 à 10 avec un pas de 2.
sous_ensemble = donnees_utilisateurs[2:11:2]
print(sous_ensemble)
Exercice 9 : Accès aux derniers éléments
Prélevez les trois derniers éléments de la liste.
derniers = donnees_utilisateurs[-3:]
print(derniers)
Exercice 10 : Itération avec énumération
Parcourez la liste et affichez chaque élément avec son indice, en utilisant la fonction enumerate.
for idx, valeur in enumerate(donnees_utilisateurs):
print(f"Indice {idx} : {valeur}")
Exercice 11 : Modification conditionnelle en boucle
Durant l'itération, remplacez les éléments aux indices pairs par la valeur -1.
for i, elem in enumerate(donnees_utilisateurs):
if i % 2 == 0:
donnees_utilisateurs[i] = -1
print(donnees_utilisateurs)
Exercice 12 : Rehcerche de la seconde occurrence
Dans une liste contenant plusieurs 20, localisez dynamiquement l'indice du second 20.
liste_exemple = [10, 20, 30, 40, 20, 50]
premier_indice = liste_exemple.index(20)
second_indice = liste_exemple.index(20, premier_indice + 1)
print(second_indice)
Exercice 13 : Filtrage de chaînes
Pour une liste, un tuple et un dictionnaire, supprimez les espaces superflus et identifiez les éléments commençant par 'a' ou 'A' et se terminant par 'c'.
collection_liste = ["alec", " aric", "Alex", "Tony", "rain"]
for item in collection_liste:
nettoye = item.strip()
if (nettoye.startswith('a') or nettoye.startswith('A')) and nettoye.endswith('c'):
print(f"Élément correspondant : {nettoye}")
collection_tuple = ("alec", " aric", "Alex", "Tony", "rain")
for element in collection_tuple:
propre = element.strip()
if (propre.startswith('a') or propre.startswith('A')) and propre.endswith('c'):
print(f"Élément correspondant : {propre}")
collection_dict = {'cle1': "alex", 'cle2': ' aric', 'cle3': "Alex", 'cle4': "Tony"}
for valeur in collection_dict.values():
sans_espace = valeur.strip()
if (sans_espace.startswith('a') or sans_espace.startswith('A')) and sans_espace.endswith('c'):
print(f"Élément correspondant : {sans_espace}")
Exercice 14 : Opérations de base sur une liste
À partir de la liste donnees = ['alex', 'eric', 'rain'], effectuez les actions suivantes :
donnees = ['alex', 'eric', 'rain']
# Longueur de la liste
taille = len(donnees)
print(taille)
# Ajout d'un élément
donnees.append('sept')
print(donnees)
# Insertion au début
donnees.insert(0, 'Tony')
print(donnees)
# Modification par indice
donnees[1] = 'Kelly'
print(donnees)
# Suppression par valeur
donnees.remove('eric')
print(donnees)
# Suppression et récupération d'un élément
valeur_supprimee = donnees.pop(1)
print(valeur_supprimee, donnees)
# Suppression par indice
donnees.pop(2)
print(donnees)
# Suppression d'une tranche
donnees_etendues = ['alex', 'eric', 'rain', 'rain', 'rain']
del donnees_etendues[1:4]
print(donnees_etendues)
# Inversion de la liste
donnees.reverse()
print(donnees)
# Affichage des indices avec for et range
for i in range(len(donnees)):
print(i)
# Énumération avec départ personnalisé
for num, val in enumerate(donnees, 100):
print(num, val)
# Itération simple
for elem in donnees:
print(elem)
Exercice 15 : Indexation de listes imbriquées
Pour la liste structure = ["bonjour", 'sept', ["lundi", ["h", "kelly"], 'tous'], 123, 446], extrayez et modifiez des éléments spécifiques.
structure = ["bonjour", 'sept', ["lundi", ["h", "kelly"], 'tous'], 123, 446]
# Accès à 'kelly'
print(structure[2][1][1])
# Modification de 'tous' en 'TOUS'
structure[2][2] = "TOUS"
print(structure)
Exercice 16 : Manipulation d'un tuple
Avec le tuple donnees_tuple = ('alex', 'eric', 'rain'), réalisez les opérations ci-dessous :
donnees_tuple = ('alex', 'eric', 'rain')
# Longueur du tuple
nb_elements = len(donnees_tuple)
print(nb_elements)
# Accès au deuxième élément
deuxieme = donnees_tuple[1]
print(deuxieme)
# Extraction d'une tranche
tranche = donnees_tuple[0:2]
print(tranche)
# Itération avec for
for item in donnees_tuple:
print(item)
# Affichage des indices
for idx in range(len(donnees_tuple)):
print(idx)
# Énumération avec offset
for compteur, contenu in enumerate(donnees_tuple, 10):
print(compteur, contenu)
Exercice 17 : Propriétés des tuples
Considérez le tuple exemple_tuple = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "nom"], "k3": (11,22,33)}, 44]).
Les tuples sont immuables à leur premier niveau, ordonnés, itérables, et supportent l'indexation et la découpe. Ils peuvent être convertis en listes.
L'élément "alex" ne peut pas être modifié directement.
Pour la valeur associée à "k2" dans le dictionnaire imbriqué, qui est une liste, ajoutez l'élément "Sept" :
exemple_tuple = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "nom"], "k3": (11,22,33)}, 44])
reference = exemple_tuple[1][2]["k2"]
reference.append("Sept")
print(exemple_tuple)
La valeur de "k3" est un tuple, donc elle est immuable.
Exercice 18 : Formatage d'une liste de produits
Pour la liste catalogue = [ ['iphone8',6888], ['MacPro', 14800], ['xiaomi6',2499], ['cafe',31],['livre',80],['chaussures_nike',799]], affichez les informations de manière structurée.
catalogue = [ ['iphone8',6888], ['MacPro', 14800], ['xiaomi6',2499], ['cafe',31],['livre',80],['chaussures_nike',799]]
print("Informations produits".center(28, "-"))
for index, produit in enumerate(catalogue):
print(f"{index}. {produit[0]} {produit[1]}")
Exercice 19 : Simulation de panier d'achat
En utilisant la liste catalogue de l'exercice précédent, créez une boucle interactive permettant à l'utilisateur d'ajouter des articles à un panier jusqu'à saisie de 'q' pour quitter, puis affichez le contenu du panier.
catalogue = [ ['iphone8',6888], ['MacPro', 14800], ['xiaomi6',2499], ['cafe',31],['livre',80],['chaussures_nike',799]]
panier = []
continuer = True
while continuer:
print("Liste des produits".center(28, "-"))
for idx, prod in enumerate(catalogue):
print(f"{idx}. {prod[0]} {prod[1]}")
choix = input("\nEntrez le numéro du produit :\n")
if choix.isdigit():
choix_num = int(choix)
if 0 <= choix_num < len(catalogue):
panier.append(catalogue[choix_num][0])
print(f"\nArticle {catalogue[choix_num][0]} ajouté au panier\n")
else:
print("Numéro invalide, veuillez réessayer.")
elif choix == "q":
if panier:
print("\nVotre panier contient :\n")
for i, article in enumerate(panier):
print(f"{i}. {article}")
else:
print("\nVotre panier est vide !\n")
continuer = False