Theme 9Approfondir les structures de données (Listes et tuples)<br />2011-03-31<br />1<br />
Les listes: Accès aux éléments<br />nombres=[5,38,10,25]<br />Accéder à un seul élément (index)<br />Ex: print(nombres[2])...
nombres = [17, 38, 10, 25, 72]<br />Trier une liste<br />Ex: nombres.sort()<br />Inverser  l’ordre des éléments<br />Ex: n...
Les listes: Remplacement d’éléments<br />mots = ['jambon', 'fromage', 'confiture', 'chocolat']<br />Insertion dans une lis...
Exercice 9.1<br />Écrire un programme qui permet de  simuler une gestion de la file d’attente suivante dans un centre de s...
Exercice 9.2<br />Écrire un programme qui permet de comparer deux listes<br />Par exemple comparer deux à deux les listes ...
Les listes et la fonction range<br />La fonction range fournit un ensemble de nombres (objet particulier appelé itérateur)...
Les tuples<br />Types de données composites: chaînes, listes + tuples<br />Chaines Vs listes<br />Composition: caractères ...
Exercice<br />Écrire un programme qui permet de charger des villes ainsi que leurs coordonnées (latitude, longitude) enreg...
Similaires aux opérations sur les listes, sauf opérations de modification(ajout et suppression)<br />Longeur d’un tuple: l...
Surcharge de l’opérateur +<br />Applicable aux chaines, listes et tuples<br />Opérateur + (concaténation):<br />uneChaine ...
Surcharge de l’opérateur *<br />Applicable aux chaines, listes et tuples<br />uneChaine = "aaabbb cccc " *3<br />uneChaine...
Prochain SlideShare
Chargement dans…5
×

Theme 9

542 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
542
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Theme 9

  1. 1. Theme 9Approfondir les structures de données (Listes et tuples)<br />2011-03-31<br />1<br />
  2. 2. Les listes: Accès aux éléments<br />nombres=[5,38,10,25]<br />Accéder à un seul élément (index)<br />Ex: print(nombres[2])<br />10 <br />Accéder à plusieurs éléments (slicing: découpage en tranches)<br />Ex: print(nombres[1:3])<br />[38, 10] #tranche de type liste<br />Ex: print(nombres[2:3])<br />[10]<br />Ex: print(nombres[2:])<br />[10,25]<br />Ex: print(nombres[-1])<br />25<br />Ex: print(nombres[-3])<br />38<br />2<br />
  3. 3. nombres = [17, 38, 10, 25, 72]<br />Trier une liste<br />Ex: nombres.sort()<br />Inverser l’ordre des éléments<br />Ex: nombres.reverse()<br />Retrouver l'index d'un élément (le premier rencontré)<br />Ex: nombres.index(17)<br />Enlever un élément (le premier rencontré)<br />Ex: nombres.remove(38)<br />Enlever un élément à un index<br />Ex: del(nombres[2])<br />Ex: del(nombres[2:4])<br />3<br />Les listes: autres opérations<br />
  4. 4. Les listes: Remplacement d’éléments<br />mots = ['jambon', 'fromage', 'confiture', 'chocolat']<br />Insertion dans une liste<br />Ex: mots[2:2] = ['miel']<br />Ex: mots[5:5] =['saucisson', 'ketchup']<br />Suppression de la liste<br />Ex: mots[2:2] = ['miel']<br />Ex: mots[2:5]=[]<br />Ex: mots[1:3] = ['salade']<br />4<br />
  5. 5. Exercice 9.1<br />Écrire un programme qui permet de simuler une gestion de la file d’attente suivante dans un centre de services<br />['client 1','client 2','client 3','client 4','client 5','client 6','client 7'] <br />Sans utiliser un compteur de boucles<br />Le premier client arrivé dans le centre de services est 'client 1‘<br />Le résultat de la simulation serait<br />['client 1'] est en cours de service, il reste les clients suivants dans la liste ['client 2','client 3','client 4','client 5','client 6','client 7'] dans la file<br />['client 1'] servi<br />['client 2'] est en cours de service, il reste les clients suivants dans la liste ['client 3','client 4','client 5','client 6','client 7'] dans la file<br />['client 2'] servi<br />Etc..<br />5<br />
  6. 6. Exercice 9.2<br />Écrire un programme qui permet de comparer deux listes<br />Par exemple comparer deux à deux les listes suivantes<br />liste1=[76,23,14,2,33,18]<br />liste2=[23,76,33,18,2,14]<br />liste3=[2,56,85,12,1,1]<br />Pour cela nous utiliserons la fonction sort()<br />6<br />
  7. 7. Les listes et la fonction range<br />La fonction range fournit un ensemble de nombres (objet particulier appelé itérateur)<br />range( [départ,]arrivée[,pas])<br />Nous pouvons construire une liste à partir de cet ensemble avec list()<br />Ex: list(range(2,10))<br />Nous pouvons aussi construire un tupleà partir de cet ensemble avec tuple()<br />Ex: tuple(range(4,25,6))<br />7<br />
  8. 8. Les tuples<br />Types de données composites: chaînes, listes + tuples<br />Chaines Vs listes<br />Composition: caractères Vs différents types<br />Non modifiables Vs modifiables<br />Tuple<br />Composition: différents types<br />Non modifiable<br />Syntaxe<br />Ex: monTuple=('anne','cote',24,'etudiante')<br />8<br />
  9. 9. Exercice<br />Écrire un programme qui permet de charger des villes ainsi que leurs coordonnées (latitude, longitude) enregistrées dans un fichier «villes.txt ». <br />Pour que ces informations ne soient pas modifiées tout au long du programme, nous désirons les inscrire dans des tuples. <br />Les différents tuples seront enregistrés dans une liste définie dans le programme<br />9<br />
  10. 10. Similaires aux opérations sur les listes, sauf opérations de modification(ajout et suppression)<br />Longeur d’un tuple: len(monTuple)<br />Accès à un élément<br />monTuple[3]<br />monTuple[1:] (le slicing retourne un tuple)<br />10<br />Les tuples: les opérations<br />
  11. 11. Surcharge de l’opérateur +<br />Applicable aux chaines, listes et tuples<br />Opérateur + (concaténation):<br />uneChaine = "aaabbb ccc " <br />uneChaine = " --- "+uneChaine+ " --- "<br />liste = liste + ['jambon', 'fromage', 'confiture']<br />liste1 = liste + [‘recette']<br />montuple = tuple1+tuple2<br />montuple=tuple6+montuple+tuple3<br />11<br />
  12. 12. Surcharge de l’opérateur *<br />Applicable aux chaines, listes et tuples<br />uneChaine = "aaabbb cccc " *3<br />uneChaine = unechaine+" "+unechaine*3<br />liste = liste*3<br />liste1 = liste +[‘recette']<br />montuple= (tuple6*montuple+tuple3)*2<br />12<br />

×