Académique Documents
Professionnel Documents
Culture Documents
©
SUPINFO
Interna/onal
University
–
h8p://www.supinfo.com
1.
Généralités
sur
les
séquences
en
Python.
0 1 2 n-2 n-1
-n -(n – 1) -(n – 2) -2 -1
maSéquence[maPositionVoulue]
maListeVide = []
maListeAvecUnSeulElement = [élément]
maListe = [élément1,élément2,...,élémentN]
-4 -3 -2 -1
0 1
‘xox’ 69
-2 0 1 2
-1
x
o
x
-3 -2 -1
©
SUPINFO
Interna/onal
University
–
h8p://www.supinfo.com
1.
Généralités
sur
les
séquences
en
Python.
monTupleVide = ()
monTupleAvecUnSeulElement = (élément,)
monTuple = (élément1,élément2,...,élémentN)
Opéra&on
Résultat
s[i]
i-‐ème
élément
de
s
s[i:j]
Sous-‐séquence
de
s
cons/tuée
des
éléments
entre
le
i-‐ème
(inclus)
et
le
j-‐ème
(exclus)
s[i:j:k]
Sous-‐séquence
de
s
cons/tuée
des
éléments
entre
le
i-‐ème
(inclus)
et
le
j-‐ème
(exclus)
pris
avec
un
pas
de
k
for x in maSéquence:
traitement de l’élemént x
l = [-2, 3, 11]
for x in l:
print(x**2)
l = (-2, 3, 11)
for i, x in enumerate(l):
print("élément n°",i+1,":",x**2)
for i in range(len(maSéquence)):
traitement de l’élément maSéquence[i]
et/ou de l’indice i
l = (-2, 3, 11)
for i in range(len(l)):
print("élément n°",i+1,":",l[i]**2)
l = (-2, 3, 11)
m = 'Keith'
for x,y in zip(l,m):
print(x,y)
e.
Exercice.
Exercice
:
écrire
une
fonc/on
prenant
une
séquence
de
nombre
en/ers
en
paramètre,
et
qui
retourne
le
nombre
d’en/ers
pairs
de
ce8e
séquence.
e.
Exercice.
Solu&on
:
def nbPairs(s):
n = 0
for x in s:
if x%2 == 0:
n += 1
return n
monTuple = (-4, 5, 2, 4, 1)
print(nbPairs(monTuple))
2. LES LISTES.
def swap(l,i,j):
l[i], l[j] = l[j], l[i]
maListe = [1, 2, 3, 4]
print("avant échange :",maListe)
swap(maListe,0,3)
print("après échange :",maListe)
Opéra&on
Résultat
s[i]
=
x
Remplacement
de
l’élément
s[i]
par
x
s[i:j]
=
t
Remplacement
des
éléments
de
s[i:j]
par
ceux
de
la
séquence
t
del(s[i:j])
Suppression
des
éléments
de
s[i:j]
s[i:j:k]
=
t
Remplacement
des
éléments
de
s[i:j:k]
par
ceux
de
la
séquence
t
del(s[i:j:k])
Suppression
des
éléments
de
s[i:j:k]
Opéra&on
Résultat
Iist(s)
Transforme
une
séquence
s
en
une
liste
s.append(x)
Ajoute
l’élément
x
à
la
fin
de
s
s.extend(t)
Étend
s
avec
la
séquence
t
s.insert(i,x)
Insère
l’élément
x
à
la
posi/on
i
s.clear()
Supprime
tous
les
éléments
de
s
s.remove(x)
Re/re
l’élement
x
de
s
s.pop(i)
Renvoie
l’élément
d’indice
i
et
le
supprime
s.reverse()
Inverse
l’ordre
des
éléments
de
s
s.sort()
Trie
les
éléments
de
s
par
ordre
croissant
©
SUPINFO
Interna/onal
University
–
h8p://www.supinfo.com
2.
Les
listes.
maListe2 = maListe1
maListe2 = maListe1.copy()
import copy
maListe2 = copy.copy(maListe1)
maListe2 = list(maListe1)
maListe2 = []
maListe2.extend(maListe1)
maListe2 = maListe1[:]
import copy
maListe2 = copy.deepcopy(maListe1)
l = [x**2 for x in t]
print(l)
l=[]
for x in t:
l.append(x**2)
print(l)
print(l)
e.
Listes
mul&dimensionnelles.
• Comme
constaté
sur
un
exemple
les
éléments
d’une
liste
peuvent
eux-‐mêmes
être
une
liste.
maListe[i1][i2]...[iN]
e.
Listes
mul&dimensionnelles.
Remarque
importante
et
exemple
:
a8en/on
à
l’ini/alisa/on
des
listes
mul/mensionnelles.
plateau = [[0]*3]*4
print(plateau)
plateau[3][2] = 666
print(plateau)
e.
Listes
mul&dimensionnelles.
Remarque
importante
et
exemple
(suite)
:
a8en/on
à
l’ini/alisa/on
des
listes
mul/mensionnelles.
e.
Listes
mul&dimensionnelles.
Remarque
:
le
parcours
de
listes
mul/dimensionnelles
se
fera
en
imbriquant
des
boucles
for.
f.
Exercice.
Exercice
:
écrire
une
fonc/on
prenant
une
séquence
de
nombre
en/ers
en
paramètre,
et
qui
retourne
une
liste
de
booléens
de
la
même
taille.
Le
i-‐ème
élément
de
ce8e
liste
retournée
vaudra
“true”
si
le
i-‐ème
élément
du
paramètre
est
pair,
et
“false”
sinon.
f.
Exercice.
Solu&on
:
def parite(s):
return [(n%2 == 0) for n in s]
monTuple = (-4, 5, 2, 4, 1)
print(parite(monTuple))
3. LES T-‐UPLES.
def swap(l,i,j):
l[i], l[j] = l[j], l[i]
monTuple = (1, 2, 3, 4)
print("avant échange :",monTuple)
swap(monTuple,0,3)
print("après échange :",monTuple)
monTuple = tuple(maSéquence)
• Itérer
sur
les
éléments
d’un
t-‐uple
est
plus
rapide
que
sur
ceux
d’une
liste.
def maFonction(para1,para2,...,*args):
bloc d’instructions de la fonction
traitant les paramètres 1,2 etc.
ainsi que les paramètres en nombre
variable regroupés dans le t-uple
nommé ici « args ».
return valeur
def relations(ami,*args):
for i,name in enumerate(args):
print("mon",ami,"n°",i+1,":",name)
relations("ami","mick","keith","ron")
relations("ennemi","john","paul")
e.
Exercices.
Exercice
:
écrire
une
fonc/on
calculant
le
produit
d’un
nombre
variable
de
paramètres.
e.
Exercices.
Solu&on
:
def produit(*nombres):
p = 1
for x in nombres:
p *= x
return p
print(produit(2,-4,5,3))
e.
Exercices.
Exercice
:
en
u/lisant
le
t-‐uplet
('a',
'e',
'i',
'o',
'u'),
écrire
une
fonc/on
calculant
le
nombre
de
voyelles
d’un
texte.
e.
Exercices.
Solu&on
:
def voyelles(mot):
t = ('a','e','i','o','u')
s = 0
mot = mot.lower()
for x in t:
s += mot.count(x)
return s
print(voyelles('Alamo'))