Вывести ключ словаря питон

Как получить ключ по значению в словаре в Python

В Python мы можем получить значения, присутствующие в словаре, по их ключам. Для этого используется синтаксис dict_nameВывести ключ словаря питон . Но мы не можем таким же образом получить ключ по значению.

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

Как получить ключ из пары ключ-значение путем перебора элементов словаря

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

Для этой задачи мы будем использовать метод items() . Этот словарный метод возвращает список кортежей, содержащих пары ключ-значение. В полученном списке мы проверим каждый кортеж, чтобы найти ключ, связанный с нашим значением.

myDict = print("Dictionary is:") print(myDict) dict_items = myDict.items() print("Given value is:") myValue = "PT" print(myValue) print("Associated Key is:") for key, value in dict_items: if value == myValue: print(key)
Dictionary is: Given value is: PT Associated Key is: acronym

Мы создали список элементов в myDict с помощью myDict.items() , а затем проверили каждый элемент в списке, чтобы найти ключ для нашего значения.

Как получить ключ по значению с помощью списков

Мы можем создать отдельные списки из ключей и значений, а затем найти ключ нужного значения с помощью метода index() .

Для этой задачи мы сначала создадим список ключей, имеющихся в словаре, используя метод keys() . Затем создадим список значений, используя метод values() . После этого мы получим индекс нужного значения из списка значений с помощью метода index() .

Читайте также:  Правый нижний угол html

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

Это можно сделать следующим образом:

myDict = print("Dictionary is:") print(myDict) dict_keys = list(myDict.keys()) dict_values = list(myDict.values()) print("Given value is:") myValue = "PT" print(myValue) val_index = dict_values.index(myValue) print("Associated key is:") myKey = dict_keys[val_index] print(myKey)
Dictionary is: Given value is: PT Associated key is: acronym

Как получить ключ по значению с помощью list comprehension

Для получения ключа, связанного с заданным значением, вместо метода index() можно использовать представление списка. О представлениях списков вы можете почитать в статье “List comprehensions и другие comprehensions в Python”.

Чтобы найти ключ, мы создадим список ключей, значения которых равны заданному значению:

myDict = print("Dictionary is:") print(myDict) dict_items = myDict.items() print("Given value is:") myValue = "PT" print(myValue) print("Associated key is:") myKey = Вывести ключ словаря питон print(myKey)
Dictionary is: Given value is: PT Associated key is: ['acronym']

Заключение

В этой статье мы рассмотрели три способа получить из словаря Python ключ по значению: с помощью list comprehension , метода items() и метода index() .

Источник

Как получить ключи от словаря в виде списка на Python

Как получить ключи от словаря в виде списка на Python

  1. dict.keys() для получения ключей словаря Python
  2. Петли для получения ключей словаря Python
  3. Список понятий для получения ключей Python Dictionary
  4. Оператор распаковки * словаря Python для получения ключей
  5. Сравнение производительности во время выполнения

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

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

dict.keys() для получения ключей словаря Python

Функция dict.keys()
возвращает dict_keys — итерабельный вид ключей словаря.

>>> state_capitals = 'California': 'Sacramento', 'Pennsylvania': 'Harrisburg', 'Texas': 'Austin'> >>> state_capitals.keys() dict_keys(['California', 'Pennsylvania', 'Texas']) 

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

>>> state_capitals = 'California': 'Sacramento', 'Pennsylvania': 'Harrisburg', 'Texas': 'Austin'> >>> for state in state_capitals.keys(): . print(state) . California Pennsylvania Texas 

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

>>> state_capitals = 'California': 'Sacramento', 'Pennsylvania': 'Harrisburg', 'Texas': 'Austin'> >>> list(state_capitals.keys()) ['California', 'Pennsylvania', 'Texas'] 

Обратите внимание, что вызов dict.keys() необязателен, если вы хотите получить ключи в виде списка.
Так как словари Python могут работать над ключами, вы можете передать a
сам словарь в конструктор списка.

>>> state_capitals = 'California': 'Sacramento', 'Pennsylvania': 'Harrisburg', 'Texas': 'Austin'> >>> list(state_capitals) ['California', 'Pennsylvania', 'Texas'] 

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

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

>>> state_capitals = 'California': 'Sacramento', 'Pennsylvania': 'Harrisburg', 'Texas': 'Austin'> >>> keys = [] >>> for key im state_capitals: . keys.append(key) . >>> keys ['California', 'Pennsylvania', 'Texas'] 

Список понятий для получения ключей Python Dictionary

Синтаксическим улучшением по сравнению с использованием циклов может быть использование Python’s list comprehesions.
С помощью list comprehensions вы можете конденсировать вышеописанный цикл в один лайнер.

>>> state_capitals = 'California': 'Sacramento', 'Pennsylvania': 'Harrisburg', 'Texas': 'Austin'> >>> keys = Вывести ключ словаря питон >>> keys ['California', 'Pennsylvania', 'Texas'] 

Оператор распаковки * словаря Python для получения ключей

Начиная с Python 3.5, мы можем использовать оператор распаковка * , чтобы получить доступ к ключам словаря.
Эта возможность была введена с помощью PEP 448 — Дополнительные обобщения распаковки.

>>> state_capitals = 'California': 'Sacramento', 'Pennsylvania': 'Harrisburg', 'Texas': 'Austin'> >>> keys = [*state_capitals] >>> keys ['California', 'Pennsylvania', 'Texas'] 

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

>>> state_capitals = 'California': 'Sacramento', 'Pennsylvania': 'Harrisburg', 'Texas': 'Austin'> >>> keys_tuple = *state_capitals, >>> keys_tuple ('California', 'Pennsylvania', 'Texas') >>> keys_set = *state_capitals> >>> keys_set 'California', 'Pennsylvania', 'Texas'> 

Сравнение производительности во время выполнения

Время исполнения каждого из вышеперечисленных подходов варьируется.

>>> from timeit import timeit >>> timeit("list(state_capitals.keys())", setup="state_capitals = ") 0.25394885599962436 >>> timeit("list(state_capitals)", setup="state_capitals = ") 0.17995373999929143 >>> timeit("for key in state_capitals: keys.append(key)", setup="keys = []; state_capitals = ") 0.25294865500018204 >>> timeit("Вывести ключ словаря питон", setup="state_capitals = ") 0.2447525150000729 >>> timeit("[*state_capitals]", setup="state_capitals = ") 0.0962776809992647 

Как следует из приведенных выше таймингов, оператор распаковки * является самым быстрым.

Читайте также:  Единицы измерения

Предпочитайте его, если только у вас нет веских причин отступать от любого из других подходов.

Сопутствующая статья — Python Dictionary

Источник

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

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

1. Использование конструктора списка

Стандартным решением для просмотра ключей словаря является использование dict.keys() функция. Чтобы преобразовать это представление в список, вы можете использовать конструктор списка, как показано ниже:

Вы также можете передать словарь конструктору списка, который является ярлыком для list(d.keys()) .

Точно так же, чтобы получить список значений словаря, вы можете передать представление, возвращаемое методом dict.values() в конструктор списка.

2. Использование итерируемого оператора распаковки

Начиная с Python 3.5, вы можете распаковать словарь в литерал списка, например [*d] . Этот синтаксис был предложен в PEP 448.

В качестве альтернативы вы можете позвонить в dict.keys() функция, чтобы сделать ваш код более явным.

Чтобы получить список значений словаря, вы можете вызвать метод dict.values() функция.

3. Использование расширенной итерируемой распаковки

Другим вариантом в Python 3 является расширенная итерируемая распаковка, которая была представлена как часть PEP 3132. Теперь вы можете написать *l, = dict , куда l — это пустой список, а справа — ваш словарь.

Чтобы получить список значений словаря, вы можете вызвать метод dict.values() функция с правой стороны.

Это все, что касается получения списка ключей и значений словаря в Python.

Средний рейтинг 4.73 /5. Подсчет голосов: 26

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Читайте также:  Typescript javascript or dart

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂

Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно

Источник

Оцените статью