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
|
NameAgeLocation |
Вы получите тот же результат, если будете явно запускать цикл for над ключами словаря. Чтобы получить ключи словаря, вы просто используете метод keys() . Рассмотрим следующий пример:
|
1
2
|
for details in student_details.keys(): print(details) |
И результат будет следующим:
|
1
2
3
|
NameAgeLocation |
Вы также можете быть заинтересованы в переборе ключей в отсортированном порядке. Таким образом, все, что вам нужно, это вызвать отсортированный метод в Python для сортировки ключей перед началом итерации. Рассмотрим, когда мы сортируем ключи в student_details перед тем, как выполнить итерацию следующим образом:
|
1
2
|
for details in sorted(student_details.keys()): print(details) |
Выходные данные в этом случае будут отсортированы по алфавиту
|
1
2
3
|
AgeLocationName |
3. Перебор значений
Помните, когда мы говорили, словари состоят из неупорядоченных ключей и значений. Мы научились перебирать ключи. Теперь следующий вопрос, который нужно задать, — можем ли мы перебрать значения. И ответ ДА.
Чтобы перебрать значения в словаре, используя цикл for, мы делаем следующее:
|
1
2
|
for values in student_details.values(): print(values) |
И вывод следующий:
|
1
2
3
|
AbdulBasit Kabir32Abuja, Nigeria |
Если вы хотите отсортировать значения, вы можете вызвать отсортированный метод непосредственно перед началом печати. Однако, поскольку наши значения не все строки, нам нужно передать параметр в метод, sorted следующим образом:
|
1
2
|
for values in sorted(student_details.values(), key=str): print(values) |
И вывод будет следующим:
|
1
2
3
|
32AbdulBasit KabirAbuja, 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: NameValue: AbdulBasit KabirKey: AgeValue: 32Key: LocationValue: 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: AgeValue: 32Key: LocationValue: Abuja, NigeriaKey: NameValue: AbdulBasit Kabir |
5. Итерация Python по словарям — Заключение
В этом примере мы узнали, что означает повторять в программировании, а также как перебирать словари в Python. Мы немного узнали о том, что такое словари и как мы можем перебирать их по ключу, значению и ключу или значению.
6. Загрузите исходный код
Это был пример того, как перебирать словари в Python
Вы можете скачать полный исходный код этого примера здесь: Python Iterate over dictionaries Пример