0% ont trouvé ce document utile (0 vote)
2 vues17 pages

TP Configuration Reseau Ubuntu V2

Ce document présente les méthodes et fonctions associées aux listes en Python, incluant des exemples d'utilisation. Il aborde également des concepts tels que la copie de listes, l'initialisation de listes de listes, et la compréhension de listes. Enfin, il met en garde contre certaines erreurs courantes lors de la manipulation de listes.

Transféré par

nasreddinemanssoura
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues17 pages

TP Configuration Reseau Ubuntu V2

Ce document présente les méthodes et fonctions associées aux listes en Python, incluant des exemples d'utilisation. Il aborde également des concepts tels que la copie de listes, l'initialisation de listes de listes, et la compréhension de listes. Enfin, il met en garde contre certaines erreurs courantes lors de la manipulation de listes.

Transféré par

nasreddinemanssoura
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Listes en Python

BTS SRI 1

M. MOSLEH
Méthodes liste (python)
Méthode Syntaxe Exemple
append() [Link](x) l = [1,2] → [Link](3)

extend() [Link](iterable) [Link]([4,5])

insert() [Link](i, x) [Link](1, 10)

remove() [Link](x) [Link](2)

pop() [Link]() / [Link](i) [Link]() / [Link](0)

clear() [Link]() [Link]()

index() [Link](x) [Link](10)

count() [Link](x) [Link](1)

sort() [Link]() [Link]()

sort(reverse=True) [Link](reverse=True) [Link](reverse=True)

reverse() [Link]() [Link]()

copy() [Link]() c = [Link]()


Fonctions (non-listes) utilisées avec les listes
Fonction Syntaxe Rôle Exemple
len() len(liste) Longueur de la liste len([1,2,3])

sum() sum(liste) Somme des éléments sum([1,2,3])

max() max(liste) Valeur maximale max([1,5,2])

min() min(liste) Valeur minimale min([1,5,2])

sorted() sorted(liste) Trie sans modifier sorted([3,1,2])

enumerate() enumerate(liste) Index + valeur list(enumerate(['a','b']))

zip() zip(l1, l2) Regroupe éléments list(zip([1,2],[3,4]))

any() any(liste) True si ≥1 True any([0,1,0])

all() all(liste) True si tous True all([1,2,3])

map() map(func, liste) Applique fonction list(map(abs, [-1,2]))

filter() filter(func, liste) Filtre éléments list(filter(lambda x:x>0, l))

list() list(iterable) Conversion en liste list("abc")


Méthode zip():
La fonction zip() de Python permet d'itérer sur plusieurs listes en parallèle :
>>> animaux = ["poulain", "renard", "python"]
>>> couleurs = ["alezan", "roux", "vert"]
>>> zip(animaux, couleurs)
<zip object at 0x7f6cf954a480>
>>> type(zip(animaux, couleurs))
<class 'zip'>
>>> for element in zip(animaux, couleurs):
... print(element)
... Remarque
('poulain', 'alezan') La fonction zip() fonctionne sur n'importe
quel objet itérable : listes, tuples,
('renard', 'roux')
dictionnaires, objets range, etc.
('python', 'vert')
Copie de listes
Il est très important de savoir que l'affectation d'une liste (à partir d'une
liste préexistante) crée en réalité une référence et non une copie :
>>> liste1 = [1, 2, 3]
>>> liste2 = liste1
>>> liste2
[1, 2, 3]
>>> liste1[1] = -15
>>> liste1
[1, -15, 3]
>>> liste2
[1, -15, 3]
Solution :
Pour éviter ce problème, il va falloir créer une copie explicite de la
liste initiale. Observez cet exemple :
>>> liste1 = [1, 2, 3]
>>> liste2 = liste1[:]
>>> liste1[1] = -15
>>> liste2
[1, 2, 3]
Attention !!
les deux astuces précédentes ne fonctionnent que pour les listes à une
dimension, autrement dit les listes qui ne contiennent pas elles-
mêmes d'autres listes. Voyez par exemple :
>>> liste1 = [[1, 2], [3, 4]]
>>> liste1
[[1, 2], [3, 4]]
>>> liste2 = liste1[:]
>>> liste1[1][1] = 55
>>> liste1
[[1, 2], [3, 55]]
>>> liste2
[[1, 2], [3, 55]]
Et
>>> liste2 = list(liste1)
>>> liste1[1][1] = 77
>>> liste1
[[1, 2], [3, 77]]
>>> liste2
[[1, 2], [3, 77]]
Solution :
La méthode de copie qui fonctionne à tous les coups consiste à appeler la
fonction deepcopy() du module copy :
>>> import copy
>>> liste1 = [[1, 2], [3, 4]]
>>> liste1
[[1, 2], [3, 4]]
>>> liste2 = [Link](liste1)
>>> liste1[1][1] = 99
>>> liste1
[[1, 2], [3, 99]]
>>> liste2
[[1, 2], [3, 4]]
Initialisation d'une liste de listes
Imaginons que l'on souhaite représenter un tableau de nombre et
l'initialiser avec des 0. Nous pourrions être tentés d'utiliser la
duplication de listes :
>>> liste1 = [[0, 0, 0]] * 5
>>> liste1
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0,
0, 0]]
Problème:
Le problème est que si on modifie un élément d'une des sous-
listes :
>>> liste1[2][0] = -12
>>> liste1
[[-12, 0, 0], [-12, 0, 0], [-12, 0, 0], [-12, 0,
0], [-12, 0, 0]
Solution :
Pour éviter le problème, on peut utiliser une boucle :
>>> liste1 = []
>>> for i in range(5):
... [Link]([0, 0, 0])
...
>>> liste1
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0,
0]]
>>> liste1[2][0] = -12
>>> liste1
[[0, 0, 0], [0, 0, 0], [-12, 0, 0], [0, 0, 0], [0,
0, 0]]
Attention

Même si une liste de listes peut représenter un tableau de


nombres, il ne faut pas la voir comme un objet mathématique
de type matrice. En effet, le concept de lignes et colonnes n'est
pas défini clairement, on ne peut pas faire d'opérations
matricielles simplement, etc. On verra dans le chapitre
20 Module Numpy qu'il existe des objets appelés arrays qui sont
faits pour ça.
Liste de compréhension
En Python, la notion de liste de compréhension (ou
compréhension de listes) représente une manière originale et
très puissante de générer des listes. La syntaxe de base
consiste au moins en une boucle for au sein de crochets
précédés d'une variable (qui peut être la variable d'itération ou
pas) :
>>> [i for i in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [2 for i in range(10)]
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
Initialisation d'une liste de listes
Une liste de compréhension permet l'initialisation d'une liste de listes en
une ligne sans avoir l'inconvénient de faire une référence vers la même
sous-liste (voir rubrique précédente) :
>>> liste1 = [[0, 0, 0] for i in range(5)]
>>> liste1
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> liste1[2][0] = -12
>>> liste1
[[0, 0, 0], [0, 0, 0], [-12, 0, 0], [0, 0, 0], [0, 0, 0]]
Nombres pairs compris entre 0 et 30¶

>>> print([i for i in range(31) if i % 2 == 0])


[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
26, 28, 30]
Remarque :
Méthode /
Syntaxe Rôle Exemple
Fonction

Affiche la
help() help(obj) help(list)
documentation
Liste les attributs et
dir() dir(obj) dir(str)
méthodes

Vous aimerez peut-être aussi