За да преминете през елементите на обект от речника на 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 може да изпълнява и операции за задаване.