Dictionnaires
1. Manipulation de Dictionnaires
1.1. Création de dictionnaire
d0 = {"nadine": 12, "glycerine": 21, 12: "nadine", "velociraptor": 12} d1 = {} d1["albumine"] = 42 d1[("nadine", 12)] = 12 # d1[["nadine", 12]] = 12 # Erreur : TypeError: unhashable type: 'list' # d1[d0] = 12 # Erreur : TypeError: unhashable type: 'dict' d1["nadine"] = ["nadine", 12]
1.2. Modification et opérations
n = len(d0) d0["nadine"] = [1,2,3] d1["allan"] = d0["velociraptor"] "nadine" in d0 "12" in d0 cles = [k for k in d0.keys()] assoc = [(k, v) for k, v in d1.items()]
2. Algorithmes
2.1. Recherche linéaire.
def in_valeur(d, x): assert not (None in d) for k, v in d.items(): if x == v: return k return None
2.2. Nombre d’occurrences.
def occurrences(s): d = {} for c in s : if not c in s: d[c] = 0 d[c] += 1 return d
3. Pour s’entraîner
3.1. Clé du maximum.
def cmax(d): m = -float("inf") cm = None for k, v in d.items(): if m < v: m = v cm = k return cm
3.2. Somme
def somme(d): s = 0 for k, v in d.items(): s += v return s