1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
# liste composée de 5 nb entiers (len(a)=5):
a = [1, 2, 3, 4, 5]
# on ajoute 6 à la liste:
a.append(6) # => la nouvelle liste est: [1, 2, 3, 4, 5, 6]
# on retire le 6:
x = a.pop(-1) # => la nouvelle liste est: [1, 2, 3, 4, 5] et x=6
# NB: les 2 méthodes append et pop permettent d'utiliser la liste comme une pile
# on retire le 3 qui correspond à l'index 2:
x = a.pop(2) # => la nouvelle liste est: [1, 2, 4, 5] et x=3
# on le réinserre
a.insert(x, 2) # => la nouvelle liste est: [1, 2, 3, 4, 5]
# liste hétérogène:
a = [1, "toto", 12, 3.14159, complex(4, 5)]
# on ajoute une instance de l'objet Data à la fin:
class Data(object):
def __init__(self, nom, couleur="", hauteur=0):
self.nom = nom
self.couleur = couleur
self.hauteur = hauteur
a.append(Data("toto"))
# l'instance de la classe Data ayant pour nom "toto" est désormais à la fin de a.
# D'ailleurs, rien n'empêche d'avoir une liste composée uniquement d'instances d'objets déclarés comme class.
# On peut afficher son nom avec:
a[-1].nom # affiche: toto
# voilà un arbre:
a = [5, 6, [1], [6, [8, 4], 7, [12, [48]], 0], 77]
# ce qui veut dire que:
# l'élément d'indice 2: [1] est une liste
# l'élément d'indice 3: [6, [8, 4], 7, [12, [48]], 0] est une liste qui contient des listes
# etc...
# parcours récursif de l'arbre: exemple d'une fonction d'affichage
def affiche(a):
if isinstance(a, list):
ch = '['
if len(a)!=0:
for x in a:
ch += "%s, " % affiche(x)
ch = ch[:-2] # pour retirer le dernier ', ' en trop
ch += ']'
else:
ch = "%s" % a
return ch
print a
# affiche: [5, 6, [1], [6, [8, 4], 7, [12, [48]], 0], 77]
print affiche(a)
# affiche: [5, 6, [1], [6, [8, 4], 7, [12, [48]], 0], 77]
# accès à l'élément de valeur 8:
print a[3][1][0]
# d'autres fonctions et méthodes applicables à la manipulation des listes:
b = a[1:3] # ne retient dans b que les indices 1 et 2 de la liste a
a.extend(b) # ajoute en fin de liste la liste c
print a # affiche [5, 6, [1], [6, [8, 4], 7, [12, [48]], 0], 77, 6, [1]]
# il y a aussi: recherche, tri, comptage, ... |
Partager