Речник на Python (dict) за обработка на цикли: keys(), values(), items()

Бизнес

За да преминете през елементите на обект от речника на Python с командата for, използвайте следния метод за обекта от речника, който може да се комбинира и с list(), за да получите списък на всички ключове и стойности в речника.

  • keys():Обработка в цикъл за всеки ключ на елемент
  • values():Обработка в цикъл „За“ за всяка стойност на елемента
  • items():Обработка на цикъла „За“ за ключа и стойността на всеки елемент

Следният обект от речника е пример.

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

Ключовете могат да бъдат получени чрез завъртане на обекта на речника в декларация for, както е в момента.

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

keys(): Обработка в цикъл за всеки ключ на елемент

Както беше споменато по-горе, ключовете могат да бъдат получени чрез завъртане на обекта на речника, така както е в командата for, но може да се използва и методът keys().

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

Методът keys() връща класа dict_keys. Ако искате да създадете списък, можете да използвате функцията 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 може да изпълнява операции за задаване.

values(): Обработка в цикъл „За“ за всяка стойност на елемента

Ако искате да извършите обработка в цикъл for за всяка стойност на елемента, използвайте метода values().

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

Методът values() връща класа dict_values. Ако искате да създадете списък, можете да използвате функцията 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'>

Тъй като стойностите могат да се припокриват, операцията set на dict_values не се поддържа.

items(): Обработка на цикъла „За“ за ключа и стойността на всеки елемент

Ако искате да извършите обработка в цикъл for както за ключа, така и за стойността на всеки елемент, използвайте метода items().

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

(key, value)Така той може да бъде получен като кортеж.

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

Методът items() връща класа dict_items. Ако искате да създадете списък, можете да използвате функцията list(). Всеки елемент е кортеж.
(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 може да изпълнява и операции за задаване.

Copied title and URL