07 Июл 2023
1 мин
1422

Получение списка ключей из словаря в Python

Часто при работе со словарями в Python возникает необходимость получить список всех ключей этого словаря. Например, есть словарь, где каждому имени студента

Содержание

Часто при работе со словарями в Python возникает необходимость получить список всех ключей этого словаря. Например, есть словарь, где каждому имени студента сопоставлена его оценка:

grades = {'Иван': 5, 'Мария': 4, 'Алексей': 3}

В Python 2.7 для получения списка ключей словаря можно было использовать метод keys(). Результатом его выполнения был список всех ключей:

print(grades.keys())
# Вывод: ['Иван', 'Мария', 'Алексей']

Однако, начиная с версии Python 3.3, поведение этого метода изменилось. Теперь он возвращает не список, а специальный объект dict_keys:

print(grades.keys())
# Вывод: dict_keys(['Иван', 'Мария', 'Алексей'])

Такой объект ведет себя похоже на список: его можно перебирать в цикле, проверять на вхождение элементов и так далее. Однако он не поддерживает некоторые операции, доступные для списков, например, индексацию.

Как получить список ключей словаря в Python 3?

Для получения списка ключей словаря в Python 3 нужно явно преобразовать объект dict_keys в список. Для этого можно использовать встроенную функцию list().

Пример:

grades = {'Иван': 5, 'Мария': 4, 'Алексей': 3}
keys_list = list(grades.keys())
print(keys_list)
# Вывод: ['Иван', 'Мария', 'Алексей']

Такой подход позволяет получить список ключей, с которым затем можно работать как с обычным списком, используя все доступные для него операции.

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