Python woordenboek (dict) voor loop processing: keys(), values(), items()

Bedrijf

Om door de elementen van een Python woordenboekobject te lopen met een for statement, gebruik je de volgende methode op het woordenboekobject, die ook kan gecombineerd worden met list() om een lijst te bekomen van alle sleutels en waarden in het woordenboek.

  • keys():Voor lusverwerking voor elk element sleutel
  • values():Voor lusverwerking voor elke elementwaarde
  • items():Voor-lus verwerking voor de sleutel en waarde van elk element

Het volgende dictionary object is een voorbeeld.

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

De sleutels kunnen worden verkregen door het woordenboekobject in een for-statement te draaien zoals het is.

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

keys(): Voor lusverwerking voor elk element sleutel

Zoals hierboven vermeld, kunnen de sleutels verkregen worden door het dictionary object te draaien zoals het in een for statement staat, maar de methode keys() kan ook gebruikt worden.

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

De methode keys() geeft de klasse dict_keys terug. Als u een lijst wilt maken, kunt u de functie list() gebruiken.

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 is in staat om set operaties uit te voeren.

values(): Voor lusverwerking voor elke elementwaarde

Als u for-loop bewerkingen wilt uitvoeren voor elke elementwaarde, gebruik dan de methode values().

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

De methode values() geeft de klasse dict_values terug. Als u een lijst wilt maken, kunt u de functie list() gebruiken.

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'>

Omdat waarden elkaar kunnen overlappen, wordt de set-operatie van dict_values niet ondersteund.

items(): Voor-lus verwerking voor de sleutel en waarde van elk element

Als je een for-lus proces wilt uitvoeren voor zowel de sleutel als de waarde van elk element, gebruik dan de items() methode.

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

(key, value)Het kan dus worden ontvangen als een tupel.

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
# ---

De methode items() geeft de klasse dict_items terug. Als je een lijst wil maken, kan je de list() functie gebruiken. Elk element is een tupel.
(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 kan ook set-bewerkingen uitvoeren.

Copied title and URL