Outils pour utilisateurs

Outils du site


python:listes_et_dictionnaires

Ceci est une ancienne révision du document !


Listes et Dictionnaires

Listes

Opérations sur les listes

Créer une liste vide :

liste = []

Ajouter des éléments à la liste :

liste.append(23)

Nombre d'éléments dans la liste :

len(liste)

Trouver l'index d'un élément (Exception si n'existe pas) :

liste.index(23)

Enlever un élément selon sa valeur (Exception si n'existe pas, et si plusieurs seul le premier est enlevé):

liste.remove(23) 

Enlever un élément selon son index :

del liste[2]

Enlever plusieurs éléments selon une plage d'index :

liste = [10, 15, 16, 18, 22, 24, 31]
 
del liste[2:5]  # résultat : [10, 15, 24, 31]

Tri d'une liste

liste.sort()

Trier une liste d'objets selon une propriété :

class Article:
 
  def __init__(self, ref, denom):
    self.ref = ref
    self.denom = denom
 
liste = []
liste.append(Article(1023, 'disque dur'))
liste.append(Article(1018, 'processeur'))
liste.append(Article(1045, 'carte mere'))
liste.append(Article(1039, 'lecteur cd'))
 
# Trier selon la propriété ref
liste.sort(lambda x, y: x.ref - y.ref) 

Pour trier sur d'autres types de propriétés ou sur une combinaison de propriétés, remplacer la fonction lambda par l'appel à une autre fonction, prenant deux objets en paramètre, et renvoyant

-1 si x < y
0 si x = y
1 si x > y

Conversion en chaîne

Avec la méthode join() d'une chaîne :

a = ['un', 'deux', 'trois']
b = ",".join(a)
 
# Résultat :
# 'un, deux, trois'

Si la liste contient des nombres :

 

Dictionnaires

dico = {}
dico['nom']    = 'Lebrun'
dico['prenom'] = 'Marc'
 
print dico             # => {'nom': 'Lebrun', 'prenom': 'Marc'}
 
print dico['prenom']   # => 'Marc'
ages = {'marc': 33, 'david': 26, 'nathalie':30}
 
print ages['marc']       # => 33
print ages['nathalie']   # => 30
del ages['david']
print ages   # => {'nathalie': 30, 'marc': 33}
print dico.keys()     # => ['nom', 'prenom']
print dico.values()   # => ['Lebrun', 'Marc']
if dico.has_key('adresse'):  # => faux
if dico.has_hey('prenom'):   # => vrai

Parcourir toutes les valeurs d'un dictionnaire :

codesDechets = {
  201: u"Manque de mousse",
  202: u"Début/Fin de bobine",
  203: u"Manque de joint",
  204: u"Débordement mousse",
  205: u"Griffes"
}
 
for code in codesDechets:
  print(code, codesDechets[code])
python/listes_et_dictionnaires.1600190054.txt.gz · Dernière modification: 2020/09/15 17:14 par marclebrun