1. Введение
В программировании итерация означает обход элементов в элементе. И когда вы выполняете итерацию, вы посещаете различные элементы в элементе, выполняющем указанное действие. Предположим, у вас есть мешок с шарами, и вы хотите перебирать шары, вы посещаете каждый шар в сумке и выполняете определенное действие. Это в основном то, что означает итерация.
Итерация по словарю означает переход по элементам словаря. Но прежде чем продолжить, что такое словарь в Python? Словарь — это неупорядоченное хранилище значений ключей. Ключи в словаре уникальны, а значения могут быть уникальными или нет. С помощью словарей вы можете выбрать циклическое переключение между ключами, значениями или обоими ключами и значениями одновременно.
Когда вы перебираете словарь по ключу, это означает, что вы перебираете ключи в словаре один за другим, а когда вы перебираете значения в словаре, вы переходите от одного значения к другому. То же самое с итерацией по паре ключ-значение.
Итак, давайте начнем с рассмотрения различных способов перебора словаря.
2. Перебирайте ключи
Чтобы перебрать словарь по ключам, рассмотрим следующий пример.
1
|
student_details = { 'Name' : 'AbdulBasit Kabir' , 'Age' : 32 , 'Location' : 'Abuja, Nigeria' } |
Если вы непосредственно запускаете цикл for в словаре, вы будете перебирать ключи в словаре. Например, рассмотрим следующее:
1
2
|
for details in student_details: print (details) |
И результат будет следующим:
1
2
3
|
Name Age Location |
Вы получите тот же результат, если будете явно запускать цикл for над ключами словаря. Чтобы получить ключи словаря, вы просто используете метод keys()
. Рассмотрим следующий пример:
1
2
|
for details in student_details.keys(): print (details) |
И результат будет следующим:
1
2
3
|
Name Age Location |
Вы также можете быть заинтересованы в переборе ключей в отсортированном порядке. Таким образом, все, что вам нужно, это вызвать отсортированный метод в Python для сортировки ключей перед началом итерации. Рассмотрим, когда мы сортируем ключи в student_details
перед тем, как выполнить итерацию следующим образом:
1
2
|
for details in sorted (student_details.keys()): print (details) |
Выходные данные в этом случае будут отсортированы по алфавиту
1
2
3
|
Age Location Name |
3. Перебор значений
Помните, когда мы говорили, словари состоят из неупорядоченных ключей и значений. Мы научились перебирать ключи. Теперь следующий вопрос, который нужно задать, — можем ли мы перебрать значения. И ответ ДА.
Чтобы перебрать значения в словаре, используя цикл for, мы делаем следующее:
1
2
|
for values in student_details.values(): print (values) |
И вывод следующий:
1
2
3
|
AbdulBasit Kabir 32 Abuja, Nigeria |
Если вы хотите отсортировать значения, вы можете вызвать отсортированный метод непосредственно перед началом печати. Однако, поскольку наши значения не все строки, нам нужно передать параметр в метод, sorted
следующим образом:
1
2
|
for values in sorted (student_details.values(), key = str ): print (values) |
И вывод будет следующим:
1
2
3
|
32 AbdulBasit Kabir Abuja, Nigeria |
4. Перебирайте ключи и значения
Иногда вам нужно выполнять итерации не только по ключам или значениям, но и по обоим одновременно. Даже в этой ситуации Python помог вам. Метод items()
вызывается в словаре, так что он возвращает ключ и значение во время каждой итерации, и с этим вы можете выполнить итерацию по нему следующим образом:
1
2
|
for items in student_details.items(): print (items) |
И вывод будет следующим:
1
2
3
|
( 'Name' , 'AbdulBasit Kabir' ) ( 'Age' , 32) ( 'Location' , 'Abuja, Nigeria' ) |
Чтобы возвращать ключи и значения отдельно в каждой итерации, мы можем следовать этому шаблону:
1
2
3
|
for key, value in student_details.items(): print ( 'Key: ' , key) print ( 'Value: ' , value) |
И вывод будет:
1
2
3
4
5
6
|
Key: Name Value: AbdulBasit Kabir Key: Age Value: 32 Key: Location Value: Abuja, Nigeria |
И если вы хотите распечатать пару ключ-значение, но отсортировать по ключу, вы можете попробовать следующее:
1
2
3
|
for key, value in sorted (student_details.items()): print ( 'Key: ' , key) print ( 'Value: ' , value) |
И вывод будет следующим:
1
2
3
4
5
6
|
Key: Age Value: 32 Key: Location Value: Abuja, Nigeria Key: Name Value: AbdulBasit Kabir |
5. Итерация Python по словарям — Заключение
В этом примере мы узнали, что означает повторять в программировании, а также как перебирать словари в Python. Мы немного узнали о том, что такое словари и как мы можем перебирать их по ключу, значению и ключу или значению.
6. Загрузите исходный код
Это был пример того, как перебирать словари в Python
Вы можете скачать полный исходный код этого примера здесь: Python Iterate over dictionaries Пример