# Trois fonctions importantes sur les dicts  : keys(), values() et items()

a = dict(one=1, two=2, three=3)
b = {'one': 1, 'two': 2, 'three': 3}
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
d = dict([('two', 2), ('one', 1), ('three', 3)])
e = dict({'three': 3, 'one': 1, 'two': 2})
a == b == c == d == e
# True

capitals = {'Iowa':'DesMoines','Wisconsin':'Madison'}
print(capitals['Iowa'])
# DesMoines

capitals['Utah']='SaltLakeCity'
print(capitals)
# {'Iowa': 'DesMoines', 'Utah': 'SaltLakeCity', 'Wisconsin': 'Madison'}

capitals['California']='Sacramento'
print(len(capitals))
# 4

for k in capitals:
    print(capitals[k]," is the capital of ", k)
# DesMoines  is the capital of  Iowa
# SaltLakeCity  is the capital of  Utah
# Madison  is the capital of  Wisconsin
# Sacramento  is the capital of  California

phone_ext={'david':1410, 'brad':1137}
phone_ext
# {'brad': 1137, 'david': 1410}

phone_ext.keys()                    # Renvoie les clés de phone_ext
# dict_keys(['brad', 'david'])

list(phone_ext.keys())
# ['brad', 'david']

"brad" in phone_ext
# True

1137 in phone_ext
# False                             # 1137 n'est pas une clé

phone_ext.values()                  # Renvoie les valeurs de phone_ext
# dict_values([1137, 1410])

list(phone_ext.values())
# [1137, 1410]

phone_ext.items()
# dict_items([('brad', 1137), ('david',1410)])

phone_ext.get("kent")
# Rien !    La clé n'y est pas.

phone_ext.get("kent","NO ENTRY")    # Si on veut récupérer la réponse en cas d'absence de la clé.
'NO ENTRY'

del phone_ext["david"]
phone_ext