Ch 5. Séquences. 1 Présentation des trois types de séquence

PTSI2 – 2016/2017 – Info Lycée La Martinière-Monplaisir – Lyon
Ch 5. Séquences.
1 Présentation des trois types de séquence
Les séquences sont composées d’un nombre fini d’éléments auxquels on peut accéder par un indice,
à l’aide des crochets : s[k] donnera le kième élément de la séquence s(attention, la numérotation
commence à 0).
Nous allons voir les trois types suivants de séquences :
Hles listes
Hles tuples
Hles chaînes de caractères
Les objets créés par l’instruction range peuvent aussi êtres considérés comme des séquences.
Tous ces objets sont dits itérables car l’on peut parcourir leurs éléments à l’aide d’une boucle for.
La syntaxe est : for e in seq :
1.a les listes
Une liste python est une succession d’objets séparés par une virgule, délimitée par des crochets
[et ].
Elle peut contenir des objets de type quelconque.
Une liste est dite mutable c’est-à-dire que l’on peut en modifier (voire en supprimer) un ou
plusieurs éléments.
La liste vide est désignée par [].
Python shell
>>> a = [1, 2.14, ’bonjour’]
>>> type(a)
<class ’list’>
>>> a[0]
1
>>> a[2]
’bonjour’
>>> a[1] = 3.14
>>> a
[1, 3.14, ’bonjour’]
1
1.b Les tuples
Un tuple ressemble à une liste :
C’est une succession d’objets séparés par une virgule, délimitée par des parenthèses ( et ).
Un tuple peut lui aussi contenir des objets de type quelconque.
Mais c’est une séquence non mutable.
Un tuple permet donc de "packer" un ensemble de données qu’on ne souhaite pas modifier individuel-
lement.
Le tuple vide est désigné par ().
Python shell
>>> t = (1, 4, ’abc’, -3)
>>> type(t)
<class ’tuple’>
>>> t[1]
4
>>> t[0] = 5
Traceback (most recent call last):
File "<pyshell#87>", line 1, in <module>
t[0] = 5
TypeError: ’tuple’ object does not support item assignment
1.c Les chaînes de caractères
Les chaînes de caractères sont délimitées par des quotes (’bonjour’), des guillemets ("bonjour")
ou des guillemets triples ("""bonjour""").
Les chaînes sont des séquences non mutables.
Python shell
>>> c = "hello world"
>>> type(c)
<type ’str’>
>>> c[5]
’ ’
>>> c[0] = ’y’
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
c[0] = ’y’
TypeError: ’str’ object does not support item assignment
2
2 Propriétés communes aux séquences
Voici un aperçu des principales instructions communes aux séquences ; set tdésignent deux séquences
du même type.
Instruction Effet
s[k]
s[-1]
s[-k]
len(s)
s+t
s*n
s[i:j]
s[i:j:k]
min(s)
max(s)
sum(s)
x in s
x not in s
Bien noter que, si nest la longueur de la séquence s, l’indice du dernier élément est n-1 (et pas n) :
ceci est dû à l’indiçage qui commence à 0.
Illustrons avec des listes, des tuples, des chaînes de caractère :
Python shell
>>> a = [13, 4, ’f’, ’bonjour’, -5] # une liste
>>> t = (10, 2.5, -7) # un tuple
>>> c = "b a ba." # une chaîne de caractères
>>> a[-1]
-5
>>> a[-3]
’f’
>>> len(t)
3
>>> len(c)
7
>>> min(t)
-7
3
>>> sum(t)
5.5
>>> y = [3, 12, -6] # une autre liste
>>> z = a + y
>>> z
[13, 4, ’f’, ’bonjour’, -5, 3, 12,-6]
>>> y * 2
[3, 12, -6, 3, 12, -6]
>>> c * 5
’b a ba.b a ba.b a ba.b a ba.b a ba.’
>>> z[2:5]
[’f’, ’bonjour’, -5]
>>> z[1:-2]
>>> z[1:6:2]
>>> d = ’anticonstitutionnellement’
>>> d[::3]
’ainitnlmt’
>>> d[:4]
>>> d[4:]
Exercice : Utilisation du slicing.
Soit une séquence s.
1)Déterminer une séquence ne contenant que les éléments d’indices pairs de s, une séquence ne
contenant que les éléments d’indices impairs.
2)Créer la séquence obtenue en renversant la séquence s.
4
3 Particularités des listes
3.a Ajout et suppression d’éléments dans une liste a
De manière générale, il faut bien réfléchir à ce qu’on veut : soit créer une nouvelle liste bobtenue à
partir de a, soit modifier la liste a. C’est d’ailleurs une question à se poser dans beaucoup d’exercices
sur les listes (bien lire l’énoncé !).
Ajout d’un élément en fin de liste
On peut utiliser la concaténation, que l’on veuille créer une nouvelle liste ou modifier a:
Python shell
>>> a = [1,2,3]
>>> b = a + [4] # création d’une nouvelle liste ; ne pas oublier les crochets.
>>> b
[1,2,3,4]
>>> a = a + [4] # modification de la liste a
Dans le cas où on veut modifier la liste, le mieux est cependant d’utiliser la méthode append (c’est une
fonction associée à un objet ; l’objet en question se met devant, suivi d’un point) :
Python shell
>>> a = [1,2,3]
>>> a.append(4)
>>> a
[1,2,3,4]
À la différence de la concaténation a = a + [4], l’instruction a.append(4) "agit sur place" : il ne
s’agit pas d’une réaffectation (la liste reste à la même adresse mémoire, voir explications plus loin).
Ajout d’un élément à un endroit précis de la liste
On peut mettre à profit le "slicing" dans le cas où l’on veut modifier la liste a:
Python shell
>>> a = [4, 6, 7]
>>> a[1:1] = [5]
>>> a
[4, 5, 6, 7]
5
1 / 16 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !