Dictionnaire Python (dict) pour le traitement des boucles : keys(), values(), items()

Affaires

Pour parcourir en boucle les éléments d'un objet dictionnaire Python à l'aide d'une instruction for, utilisez la méthode suivante sur l'objet dictionnaire, qui peut également être combinée avec list() pour obtenir une liste de toutes les clés et valeurs du dictionnaire.

  • keys():Traitement en boucle pour chaque clé d'élément
  • values():Traitement en boucle pour chaque valeur d'élément
  • items():Traitement en boucle pour la clé et la valeur de chaque élément

L'objet dictionnaire suivant est un exemple.

d = {'key1': 1, 'key2': 2, 'key3': 3}

Les clés peuvent être obtenues en tournant l'objet dictionnaire dans une instruction for telle quelle.

for k in d:
    print(k)
# key1
# key2
# key3

keys(): Traitement en boucle pour chaque clé d'élément

Comme mentionné ci-dessus, les clés peuvent être obtenues en tournant l'objet dictionnaire tel quel dans une instruction for, mais la méthode keys() peut également être utilisée.

for k in d.keys():
    print(k)
# key1
# key2
# key3

La méthode keys() renvoie la classe dict_keys. Si vous voulez faire une liste, vous pouvez utiliser la fonction list().

keys = d.keys()
print(keys)
print(type(keys))
# dict_keys(['key1', 'key2', 'key3'])
# <class 'dict_keys'>

k_list = list(d.keys())
print(k_list)
print(type(k_list))
# ['key1', 'key2', 'key3']
# <class 'list'>

DICT_KEYS est capable d'effectuer des opérations de set.

values(): Traitement en boucle pour chaque valeur d'élément

Si vous souhaitez effectuer un traitement for-loop pour chaque valeur d'élément, utilisez la méthode values().

for v in d.values():
    print(v)
# 1
# 2
# 3

La méthode values() renvoie la classe dict_values. Si vous voulez faire une liste, vous pouvez utiliser la fonction list().

values = d.values()
print(values)
print(type(values))
# dict_values([1, 2, 3])
# <class 'dict_values'>

v_list = list(d.values())
print(v_list)
print(type(v_list))
# [1, 2, 3]
# <class 'list'>

Comme les valeurs peuvent se chevaucher, l'opération set de dict_values n'est pas supportée.

items(): Traitement en boucle pour la clé et la valeur de chaque élément

Si vous souhaitez effectuer un traitement en boucle pour la clé et la valeur de chaque élément, utilisez la méthode items().

for k, v in d.items():
    print(k, v)
# key1 1
# key2 2
# key3 3

(key, value)Ainsi, il peut être reçu comme un tuple.

for t in d.items():
    print(t)
    print(type(t))
    print(t[0])
    print(t[1])
    print('---')
# ('key1', 1)
# <class 'tuple'>
# key1
# 1
# ---
# ('key2', 2)
# <class 'tuple'>
# key2
# 2
# ---
# ('key3', 3)
# <class 'tuple'>
# key3
# 3
# ---

La méthode items() renvoie la classe dict_items. Si vous voulez faire une liste, vous pouvez utiliser la fonction list(). Chaque élément est un tuple.
(key, value)

items = d.items()
print(items)
print(type(items))
# dict_items([('key1', 1), ('key2', 2), ('key3', 3)])
# <class 'dict_items'>

i_list = list(d.items())
print(i_list)
print(type(i_list))
# [('key1', 1), ('key2', 2), ('key3', 3)]
# <class 'list'>

print(i_list[0])
print(type(i_list[0]))
# ('key1', 1)
# <class 'tuple'>

DICT_ITEMS peut également effectuer des opérations de set.

Copied title and URL