Как получить ключ словаря, когда значение представляет собой список значений в Python - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь получить ключ со списком значений.Если пользовательский ввод совпадает с одним из значений, ключ возвращается.

 self.data_base = {
        knife[0].knife_name: knife[0].knife_uses,
        knife[1].knife_name: knife[1].knife_uses,
        knife[2].knife_name: knife[2].knife_uses,
        knife[3].knife_name: knife[3].knife_uses,
        knife[4].knife_name: knife[4].knife_uses,
        knife[5].knife_name: knife[5].knife_uses,
        knife[6].knife_name: knife[6].knife_uses,
        knife[7].knife_name: knife[7].knife_uses
    }

knife_uses - это список строк.

, если пользовательский ввод соответствует одному из списка использований, возвращается имя ножа.

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

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

for key, value in self.data_base.items():
    if(user_input == value):
        return key
0 голосов
/ 10 мая 2019

Вам придется перебирать словарь с помощью

for k, v in self.data_base.items():
    # if input matches v, return k
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...