You are on page 1of 4

Types composs en python

Types composs : Listes, Tuples, dictionnaires, chanes de caractres, ensembles


1. Les tuples
Un tuple est une collection dobjets spars par une virgule, et dlimites par des parenthses.
Exemple
-- Un couple compos dun entier et dun flottant : (1, 2.2)
-- Un triplet dentiers : (0, 1, 2)
Remarques
-- Les parenthses aux extrmits sont facultatives (limportant, ce sont les virgules) mais
recommandes pour la lisibilit.
>>> a=123,'abcd ',4.56,True
>>> b=(123,'abcd ',4.56,True)
>>> print(a==b)
True

-- Pour former un tuple un seul lment, il faut faire suivre cet lment dune virgule.
Accs un lment
Les lments dun tuple sont indexs comme les lments dune liste et on peut slectionner une partie dun tuple
avec la mme syntaxe que celle utilise pour les listes.
Exemple
>>> t = (1, 2.2)
Pour obtenir la premire composante du couple, on pourra alors valuer :
>>> t[0]
1
>>> t[1]
2.2
Affectations multiples
Les tuples en Python permettent deffectuer des affectations multiples.
>>> a,b,c=1,2,3
On peut donc sen servir pour changer les valeurs de deux variables dun coup (sans introduire
de variable auxiliaire) :
a=2
b=3
print('Avant :',a,b)
a , b = b , a
print('Aprs :',a,b)

Avant : 2 3
Aprs : 3 2

MPSI-PCSI-TCSI 1/4 M.GUEROIHI


Attention : Valeurs immuables (nom modifiables)
Les tuples sont immuables. Cela signifie quil nest pas possible daffecter de nouvelles valeurs aux composantes.
Ainsi linstruction suivante produit une erreur :
>>> t[0] = 2
TypeError: 'tuple' object does not support item assignment

Test dappartenance
Il est possible de tester si une valeur appartient un tuple laide de loprateur in :
>>> 3 in (1,2,3)
True

Terminons par quelques oprations possibles sur les tuples :


>>> (1,2,3) + (4,5) # concatenation de deux tuples
(1, 2, 3, 4, 5)
>>> (1,2) + 3
TypeError: can only concatenate tuple (not "int") to tuple
Lexpression correcte est :
>>> (1,2) + (3,)
(1,2,3)
>>> (0,)*5 # le tuple (0) rpt 5 fois
(0, 0, 0, 0, 0)

MPSI-PCSI-TCSI 2/4 M.GUEROIHI


2. Dictionnaires
Les types composs que nous avons abords jusqu' prsent (chanes, listes et tuples) taient tous des squences,
c'est--dire des suites ordonnes d'lments. Dans une squence, il est facile d'accder un lment quelconque
l'aide d'un index.
Les dictionnaires ressemblent aux listes dans une certaine mesure (ils sont modifiables comme elles), mais
ce ne sont pas des squences (non ordonnes). Nous pourrons accder n'importe lequel d'entre eux
l'aide d'un index spcifique que l'on appellera une cl, laquelle pourra tre alphabtique, numrique,etc.
Exemple
>>> dico = {} # Un dictionnaire vide
>>> dico['computer'] = 'ordinateur'
>>> dico['mouse'] ='souris'
>>> dico['keyboard'] ='clavier'
>>> print dico
{'computer': 'ordinateur', 'keyboard': 'clavier', 'mouse': 'souris'}

Parcourir un dictionnaire
def afficheDic(d) :
for e in d:
print (e,'\t', d[e])

>>> afficheDic(dico)
keyboard clavier
mouse souris
computer ordinateur

Longueur dun dictionnaire


>>> len(dico)
3

Test dappartenance
>>> 'mouse' in dico
True

>>> 'mouse' in dico.keys()


True

>>> 'souris' in dico


False

>>> 'souris' in dico.values()


True

MPSI-PCSI-TCSI 3/4 M.GUEROIHI


3. Ensembles
Les objets de type ensemble (set dans le langage Python) sont des structures de donnes qui modlisent la notion
mathmatique densemble. Un tel objet peut contenir des valeurs de type quelconque, mais une mme valeur ne
peut apparatre quune seule fois. De plus les lments dun objet de type ensemble ne sont pas ordonns (on ne
peut pas y accder par un indice : on peut juste savoir si une valeur est ou nest pas lment de lensemble).
On forme un ensemble par la squence de ses lments (valeurs), encadre par { et }, ou en utilisant le constructeur
set
Exemple
>>> E = {1,5,2,3,2,7,5,2,1,3,2}
>>> E= set([1,5,2,3,2,7,5,2,1,3,2]) #mme rsultat en convertissant une liste
>>> E # dans un ensemble, tous les doublons ont t limins
{1, 2, 3, 5, 7}
>>> set(abracadabra) # lensemble des caractres distincts dune chane
{d, r, a, c, b}

Longueur dun ensemble


>>> len(E)
5

Test dappartenance
>>> 4 in E
False

Quelques mthodes relatives aux ensembles :


>>> E1={1, 2, 3, 5, 7}
>>> E1.add(8) #ajouter un lment un ensemble
>>> E1
{1, 2, 3, 5, 7, 8}

>>> E1.remove(5) #supprimer llment 5


>>> E1
{1 , 2, 3, 7, 8}

E2={1,6,9}
>>> E2
{9, 6, 1}

>>> E1.difference(E2) #diffrence de 2 ensembles


{8, 2, 3, 7}

>>> E1.intersection(E2) #intersection de 2 ensembles


{1}

>>> E1.union(E2) #union de 2 ensembles


{1, 2, 3, 6, 7, 8, 9}

>>> E1.clear() #supprime tous les lments


>>> E1
set()

MPSI-PCSI-TCSI 4/4 M.GUEROIHI

You might also like