Les dictionnaires

I/ Exemple

Un DNS associe à chaque adresse web, une adresse IP. C'est stocké dans un dictionnaire Python.

DNS = { 'youtube.com':                 (172,217,22,174),
        'metice-espe.univ-reunion.fr': (194,199,73,121),
        'facebook.com':                (12,34,56,78),
        'yahoo.com':                   (87,248,100,215),
        'google.com':                  (74,125,224,72),
        'wikipedia.org':               (91,198,174,192),
        'nasa.gov':                    (13,32,24,13) }

II/ Clés et valeurs

1) Clés

Les clés sont les adresses web :

DNS.keys()
dict_keys(['youtube.com', 'metice-espe.univ-reunion.fr', 'facebook.com', 'yahoo.com', 'google.com', 'wikipedia.org', 'nasa.gov'])

2) Valeurs

Les valeurs sont les adresses IP :

DNS.values()
dict_values([(172, 217, 22, 174), (194, 199, 73, 121), (12, 34, 56, 78), (87, 248, 100, 215), (74, 125, 224, 72), (91, 198, 174, 192), (13, 32, 24, 13)])

3) Items

Un item est un tuple (clé,valeur) :

DNS.items()
dict_items([('youtube.com', (172, 217, 22, 174)), ('metice-espe.univ-reunion.fr', (194, 199, 73, 121)), ('facebook.com', (12, 34, 56, 78)), ('yahoo.com', (87, 248, 100, 215)), ('google.com', (74, 125, 224, 72)), ('wikipedia.org', (91, 198, 174, 192)), ('nasa.gov', (13, 32, 24, 13))])

4) Parcours

Parcourir un dictionnaire, c'est parcourir ses clés :

for x in DNS: print(x)

a le même effet que

for x in DNS.keys(): print(x)

III/ Recherche

1) recherche d'une valeur

DNS['wikipedia.org']
(91, 198, 174, 192)

2) recherche d'une clé

[clé for clé in DNS.keys() if DNS[clé]==(12, 34, 56, 78)][0]
'facebook.com'

III/ Données

1) En table

Pour représenter un dictionnaire français → malagasy, on peut utiliser une table :

françaismalagasy
bananeakondro
noix de cocovoanio
fraisefrezy
pêchepaiso

Chaque ligne est un tuple nommé. Elle peut être implémentée

Une table (ou relation) est donc une liste de tuples nommés.

2) csv

Une table peut également être stockée dans un fichier texte au format csv :

banane,akondro
noix de coco,voanio
fraise,frezy
pêche,paiso

ou tsv (par exemple pour être analysé avec le langage de programmation awk)

3) En html

En html, le choix d'une ligne du dictionnaire est considéré comme une entrée :

Voici l'effet obtenu dans la page :

Voir d'autres fruits