Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Python поиск значения в словаре по значению: Как найти ключ по значению?

  1. Python поиск значения в словаре по значению: Как найти ключ по значению?

    Привет всем! Столкнулся с проблемой при работе со словарями в Python. Как можно найти ключ в словаре по значению, если значения могут повторяться? Есть идеи оптимального решения? Хочу понять, как эффективно осуществить python поиск значения в словаре по значению. Делитесь своими способами!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Для решения данной задачи можно использовать следующий код:

    [PHP]
    def find_keys_by_value(d, val):
    return [k for k, v in d.items() if v == val]

    my_dict = {
    'a': 1,
    'b': 2,
    'c': 1
    }

    result = find_keys_by_value(my_dict, 1)
    print(result)
    [\PHP]

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

  4. Цитата Сообщение от CrimsonFox
    Привет! Для решения данной задачи можно использовать следующий код:

    [PHP]
    def find_keys_by_value(d, val):
    return [k for k, v in d.items() if v == val]

    my_dict = {
    'a': 1,
    'b': 2,
    'c': 1
    }

    result = find_keys_by_value(my_dict, 1)
    print(result)
    [\PHP]

    В данном примере функция find_keys_by_value возвращает список ключей, у которых значение совпадает с заданным. В качестве аргументов функция принимает словарь и значение для поиска. В конце выводим результат поиска ключей для значения 1.
    О, норм тема! Круто что на питоне так легко можно сделать! Спасибо за развернутый пример!

  5. Привет! Вот еще вариант, если тебе будет полезно:

    [PHP]
    my_dict = {
    'a': 1,
    'b': 2,
    'c': 1,
    'd': 3
    }

    keys = list(filter(lambda k: my_dict[k] == 1, my_dict))
    print(keys)
    [\PHP]

    Тут я использовал функцию filter и lambda выражение.

  6. Цитата Сообщение от Кирилл Александрович
    Привет! Вот еще вариант, если тебе будет полезно:

    [PHP]
    my_dict = {
    'a': 1,
    'b': 2,
    'c': 1,
    'd': 3
    }

    keys = list(filter(lambda k: my_dict[k] == 1, my_dict))
    print(keys)
    [\PHP]

    Тут я использовал функцию filter и lambda выражение.
    Lambda выражения всегда выручают! Спасибо за решение. Просто и понятно.))

  7. Хей! Можно также использовать генераторы:

    [PHP]
    my_dict = {'x': 10, 'y': 20, 'z': 10}
    keys = [k for k in my_dict if my_dict[k] == 10]
    print(keys)
    [\PHP]

    Генераторы списков на мой взгляд самый удобный способ.

  8. Цитата Сообщение от GriffinWing
    Хей! Можно также использовать генераторы:

    [PHP]
    my_dict = {'x': 10, 'y': 20, 'z': 10}
    keys = [k for k in my_dict if my_dict[k] == 10]
    print(keys)
    [\PHP]

    Генераторы списков на мой взгляд самый удобный способ.
    Супер, генераторы действительно удобны. Просто офигенный способ перебирать ключи.

  9. Привет! У меня есть решение через функцию:

    [PHP]
    def get_keys(d, val):
    return list(key for key, value in d.items() if value == val)

    d = {'k1': 100, 'k2': 200, 'k3': 100}
    print(get_keys(d, 100))
    [\PHP]

    Так ты сможешь сразу сделать список ключей в return.

  10. Цитата Сообщение от ИндианаДжонс
    Привет! У меня есть решение через функцию:

    [PHP]
    def get_keys(d, val):
    return list(key for key, value in d.items() if value == val)

    d = {'k1': 100, 'k2': 200, 'k3': 100}
    print(get_keys(d, 100))
    [\PHP]

    Так ты сможешь сразу сделать список ключей в return.
    Спасибо! Хороший способ. Пожалуй попробую оба метода на своей задачке!

Страница 1 из 2 12 ПоследняяПоследняя