Académique Documents
Professionnel Documents
Culture Documents
1. Ensembles.
2. Dic/onnaires.
3. Fichiers.
1. ENSEMBLES.
Un
Un
autre
élément
élement
Encore
un
élément
monSetVide = set()
monSet = {élément1,élément2,...,élémentN}
monSet = set(séquence)
1
9
monFrozenSetVide = frozenset()
monFrozenSet = frozenset(séquence)
b.
Opéra&ons
communes.
• Les
opéra/ons
communes
aux
types
“set”
et
“frozenset”
sont
celles
des
ensembles
en
mathéma&ques
:
– Test
d’appartenance
– Test
d’inclusion
– Union
– Intersec/on
– Différence
– Différence
symétrique
b.
Opéra&ons
communes.
Opéra&ons
d’appartenance
:
Opéra&on
Résultat
x
in
s
Teste
si
x
appar/ent
à
s
x
not
in
s
Teste
si
x
n’appar/ent
pas
à
s
len(s)
Nombre
d’éléments
de
s
s.isdisjoint(t)
True
si
l’intersec/on
de
s
et
t
est
vide
s.issubset(t)
True
si
s
est
inclus
dans
t
s
<=
t
s.issuperset(t)
True
si
t
est
inclus
dans
s
s
>=
t
b.
Opéra&ons
communes.
Exemple
:
>>> s = {1, 3, 5, 7, 9}
>>> s.isdisjoint([2, 4, 6, 9])
False
>>> s.isdisjoint({2, 4, 6, 8})
True
>>> s.issubset(range(10))
True
>>> s.issuperset(range(1, 6, 2))
True
b.
Opéra&ons
communes.
Opéra&ons
classiques
sur
les
ensembles
:
Opéra&on
Résultat
s.union(t)
Union
de
s
et
t
s
|
t
s.intersec/on(t)
Intersec/on
de
s
et
t
s
&
t
s.difference(t)
Difference
de
s
par
t
s
-‐
t
s.symmetric_difference(t)
Différence
symétrique
de
s
et
t
s
^
t
b.
Opéra&ons
communes.
Exemple
:
>>> s = {1, 3, 5, 7, 9}
>>> t = frozenset({2, 4, 6, 8})
>>> u = s | t
>>> u
{1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> u.symmetric_difference(range(6,16))
{1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 15}
>>> u.difference(range(3),[5, 6],'e')
{3, 4, 7, 8, 9}
>>> s = {1, 3, 5, 7, 9}
>>> for x in s:
... print(x**2)
...
81
9
1
25
49
Opéra&on
Résultat
s.update(t)
s
mis
à
jour
vers
s
|=
t
l’union
de
s
et
t
s.intersec/on_update(t)
s
mis
à
jour
vers
s
&=
t
l’intersec/on
de
s
et
t
s.difference_update(t)
s
mis
à
jour
vers
s
-‐=
t
la
difference
de
s
par
t
s.symmetric_difference(t)
s
mis
à
jour
vers
s
^=
t
la
différence
symétrique
de
s
et
t
>>> s = set('barbara')
>>> s
{'r', 'b', 'a'}
>>> s.update('boris')
>>> s
{'o', 'i', 'b', 'a', 'r', 's'}
>>> s.intersection_update('brio')
>>> s
{'o', 'r', 'b', 'i'}
Opéra&on
Résultat
s.add(x)
Ajoute
l’élément
x
à
s
s.remove(x)
Supprime
l’élément
x
de
s,
retourne
une
erreur
s’il
est
absent
s.discard(x)
Supprime
l’élément
x
de
s
s’il
est
présent,
ne
retourne
rien
s’il
est
absent
s.pop()
Supprime
et
retourne
un
élément
de
s
quelconque
s.clear()
Supprime
tous
les
éléments
de
s
f.
Exercice.
Exercice
:
écrire
une
fonc/on
prenant
en
paramètre
une
liste
“L”
et
qui
retourne
“True”
ou
“False”
selon
que
ce8e
liste
soit
une
permuta/on
de
{0,1,2,...,n-‐1},
où
n
est
le
nombre
d’éléments
de
la
liste
“L”.
f.
Exercice.
Solu&on
:
def permut(L):
return set(L) == set(range(len(L)))
2. DICTIONNAIRES.
a. Principe.
b. Construc/on
d’un
dic/onnaire.
c. Opéra/ons
sur
les
dic/onnaires.
d. Itéra/on
sur
les
éléments.
e. Dic/onnaires
définis
«
en
compréhension
».
f. Exercice.
©
SUPINFO
Interna/onal
University
–
h8p://www.supinfo.com
2.
Dic/onnaires.
a.
Principe.
• Un
dic/onnaire
est
une
structure
de
données
non
séquen&elle,
muable,
perme8ant
de
mémoriser
des
couples
clé
:
valeur.
a.
Principe.
• Contrairement
aux
séquences,
l’accès
à
une
valeur
ne
se
fait
donc
pas
par
sa
posi&on
mais
par
une
clé.
a.
Principe.
0 1 2 n-2 n-1
-n -(n – 1) -(n – 2) -2 -1
monDicoVide = dict()
monDicoVide = {}
monDico = {clé1:val,clé2:val,...,cléN,val}
monDico = dict([(clé1,val),...,(cléN,val)])
monDico = dict(((clé1,val),...,(cléN,val)))
monDico = dict(zip([clé1,...,cléN],
[val,...,val]))
>>> rs = {}
>>> rs['Mick'] = 71
>>> rs['Keith'] = 71
>>> rs['Charlie'] = 83
>>> rs
{'Mick': 71, 'Charlie': 83, 'Keith': 71}
>>> rs['Charlie'] = 73
>>> rs
{'Mick': 71, 'Charlie': 73, 'Keith': 71}
Mick
Charlie
71
73
Keith
71
>>> rs = dict([('Mick',71),('Keith',71),
('Charlie',73)])
>>> rs
{'Mick': 71, 'Keith': 71, 'Charlie': 73}
>>> b = dict(zip(['John','Paul','Ringo'],
[40,72,74]))
>>> b
{'Paul': 72, 'Ringo': 74, 'John': 40}
>>> rs = dict([('Mick',71),('Keith',71)])
>>> rs.update({'Charlie':73,'Ron':67})
>>> rs
{'Ron': 67, 'Mick': 71, 'Keith': 71,
'Charlie': 73}
>>> rs['Keith']
71
>>> del rs['Ron']
>>> rs
{'Mick': 71, 'Keith': 71, 'Charlie': 73}
Opéra&on
Résultat
Permet
d’avoir
une
«
vue
»
sur
l’ensemble
d.keys()
des
clés
de
d
Permet
d’avoir
une
«
vue
»
sur
l’ensemble
d.values()
des
valeurs
de
d
Permet
d’avoir
une
«
vue
»
sur
l’ensemble
d.items()
des
couples
clé
:
valeur
de
d
>>> rs = {'mick':71,'Keith':71,'Charlie':
73,'Ron':67}
>>> c = rs.keys()
>>> list(c)
['mick', 'Charlie', 'Keith', 'Ron']
>>> del rs['Ron']
>>> list(c)
['mick', 'Charlie', 'Keith']
>>> tuple(rs.items())
(('mick', 71), ('Charlie', 73), ('Keith',
71))
rs = {'mick':71,'Keith':71,'Charlie':
73,'Ron':67}
for nom in rs:
print(nom,end=' ')
rs = {'mick':71,'Keith':71,'Charlie':
73,'Ron':67}
for nom in rs.keys():
print(nom,end=' ')
rs = {'mick':71,'Keith':71,'Charlie':
73,'Ron':67}
total = 0
for age in rs.values():
total += age
print("âge cumulé :",total,'ans')
rs = {'mick':71,'Keith':71,'Charlie':
73,'Ron':67}
for nom,age in rs.items():
print(nom,':',age,'ans')
f.
Exercice.
Exercice
:
à
par/r
de
ce8e
liste
de
t-‐uple
scrabbleT
=
[
(1,
"EAINORSTUL"),
(2,
"DMG"),
(3,
"BCP"),
(4,
"FHV"),
(8,
"JQ"),
(10,
"KWXYZ")]
Construire
un
dic/onnaire
qui
aura
pour
clés
chacune
des
le8res
de
l’alphabet,
et
pour
valeur
celle
des
règles
du
scrabble.
f.
Exercice.
Solu&on
:
3. FICHIERS.
a. Généralités.
b. Ouverture
d’un
fichier.
c. Fermeture
d’un
fichier.
d. Lecture
dans
un
fichier.
e. Écriture
dans
un
fichier.
a.
Généralités.
Objec&f
de
la
ges&on
de
fichiers
:
• Pour
nous,
un
fichier
sera
donc
un
support
pour
conserver
une
masse
de
données.
a.
Généralités.
Deux
principaux
types
de
fichiers
:
• Fichier
texte
:
fichier
organisé
sous
la
forme
d’une
suite
de
lignes,
chacune
étant
composée
d’un
certain
nombres
de
caractères
et
terminée
par
‘\n’.
• Le mode est la façon selon laquelle on va ouvrir le fichier.
• ‘w’
:
écriture.
Si
le
fichier
existait,
son
contenu
est
effacé,
sinon
il
est
créé.
monFichier = open('sympathy.txt','r')
for ligne in monFichier:
print(ligne.upper(),end='')
monFichier.close()
monFichier = open('sympathy.txt','a')
monFichier.write('And I was round when
Jesus Christ\n')
monFichier.write('Had his moment of doubt
and pain')
monFichier.close()
monFichier = open('sympathy.txt','w')
monFichier.write('plus de texte...')
monFichier.close()
Interfaces graphiques.