Python предоставляет различные способы перебора словаря Python с индексом для доступа к ключам и значениям.

Словарь используется для хранения данных в виде пары ключ-значение. Начиная с версии Python 3.7, словари упорядочены так, что мы можем получить доступ к ключам словаря по индексу.

Содержание

1. Перебор словарей с использованием циклов for

Самый простой способ перебора словаря в Python — это цикл for. Цикл используется для перебора ключей словаря, и мы можем получить доступ к соответствующим значениям и индексу.

Вот пример того, как перебирать словарь в Python с ключом, используя цикл for:

USA_states = { 
    "New York": "Albany", 
    "California": "Sacramento", 
    "Ohio": "Columbus", 
    "Texas": "Austin", 
    "Washington": "Olympia" 
} 
 
index = 0 
for key in USA_states: 
    value = USA_states[key] 
    print(f"Index: {index}, Key: {key}, Value: {value}") 
    index += 1

Вывод: здесь мы создали переменную с именем index и установили значение 0. Она будет действовать как наш индекс для словаря Python.

Каждый раз, когда мы перебираем ключ словаря Python, мы получаем соответствующие значения с индексом, увеличивая индекс на 1.

Index: 0, Key: New York, Value: Albany 
Index: 1, Key: California, Value: Sacramento 
Index: 2, Key: Ohio, Value: Columbus 
Index: 3, Key: Texas, Value: Austin 
Index: 4, Key: Washington, Value: Olympia

После запуска кода в Pycharm результат отображается на снимке экрана ниже.

1. Перебор словарей с использованием циклов for

2. С использованием функции enumerate()

Функция enumerate() в Python используется для перебора последовательности по индексу.

Его синтаксис:

enumerate(iterable, start=0)

Требуется два аргумента:

  1. iterable: имя итерации, которую нам нужно перебрать в Python.
  2. start: это счетчик, с которого начнется индексация.

Функция enumerate() возвращает пару счетчика и элемента из итерируемого объекта.

Вот как мы можем использовать функцию enumerate для перебора словаря Python с индексом:

USA_companies = { 
    "Amazon": 299.28, 
    "Apple": 297.51, 
    "Google": 281.38, 
    "Microsoft": 191.57, 
    "Walmart": 113.78 
} 
for index, key in enumerate(USA_companies): 
    print('Index::', index, ' Key::', key)

Вывод: по умолчанию стартовый параметр функции перечисления равен 0.

Index:: 0  Key:: Amazon 
Index:: 1  Key:: Apple 
Index:: 2  Key:: Google 
Index:: 3  Key:: Microsoft 
Index:: 4  Key:: Walmart

Ниже приведен снимок экрана, на котором показаны выходные данные после реализации кода в редакторе Pycharm.

2. С использованием функции enumerate()

3. С помощью метода items()

Метод items() словаря Python возвращает пару ключ-значение, которую можно использовать в цикле для перебора ключей и значений.

Но для индекса нам нужно преобразовать возвращаемое значение метода items() в список, а затем выполнить итерацию по списку в Python.

Пример:

US_States = { 
    "Alaska": "AK", 
    "California": "CA", 
    "Florida": "FL", 
    "Hawaii": "FL", 
    "New York": "NY", 
    "Texas": "TX" 
} 
Sates_data = list(US_States.items()) 
for i in range(len(Sates_data)): 
    key, value = Sates_data[i] 
    print(f'Index: {i}, Key: {key}, Value: {value}')

Выход:

Index: 0, Key: Alaska, Value: AK 
Index: 1, Key: California, Value: CA 
Index: 2, Key: Florida, Value: FL 
Index: 3, Key: Hawaii, Value: FL 
Index: 4, Key: New York, Value: NY 
Index: 5, Key: Texas, Value: TX

На снимке экрана ниже представлен результат, полученный после выполнения кода в редакторе Pycharm.

С помощью метода items()

4. С использованием функции sorted()

Если мы хотим отсортировать словарь в Python и перебрать его по индексу, мы можем использовать функцию sorted().

Функция sorted() возвращает список отсортированных значений в Python в порядке возрастания.

Пример:

CEO_dict = { 
    "Carnegie Steel Company": "Andrew Carnegie", 
    "Ford Motor Company": "Henry Ford", 
    "Oprah Winfrey Network": "Oprah Winfrey", 
    "Microsoft": "Bill Gates", 
    "Google": "Larry Page" 
} 
sorted_keys = sorted(CEO_dict.keys()) 
for i in range(len(sorted_keys)): 
    key = sorted_keys[i] 
    value = CEO_dict[key] 
    print(f'Index: {i}, Key: {key}, Value: {value}')

Здесь мы передали список ключей функции sorted() в Python, чтобы получить отсортированный список.

sorted(CEO_dict.keys())

Выход:

Index: 0, Key: Carnegie Steel Company, Value: Andrew Carnegie 
Index: 1, Key: Ford Motor Company, Value: Henry Ford 
Index: 2, Key: Google, Value: Larry Page 
Index: 3, Key: Microsoft, Value: Bill Gates 
Index: 4, Key: Oprah Winfrey Network, Value: Oprah Winfrey

Полученный снимок экрана представлен ниже после реализации кода в редакторе Pycharm.

С использованием функции sorted()

Заключение

В этой статье подробно объясняется «Как перебирать словарь в Python с индексом» несколькими способами. Независимо от того, используем ли мы простой цикл for, функцию enumerate(), методы items() или функцию sorted() для отсортированного словаря, понимание этих методов позволяет программистам эффективно работать со словарями в Python.

Добавить комментарий