проверка словаря Python с ключом - PullRequest
0 голосов
/ 16 ноября 2018

Я хочу проверить, равен ли мой ключ вводу:

topics = c.classify("what about ")
a = topics.keys() 
if a == "resources": 
    print("yes")

Но a хранится как dict_keys (['resource "]). Я хочу, чтобы a был просто" ресурсами ".". Кто-нибудь может мне помочь в этом, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

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

topics = c.classify("what about ")
if "resources" in topics:
    print("yes")

Это самый быстрый и самый стандартный способ сделать это.Подробнее читайте здесь Ключи словаря Python.«В» сложности

0 голосов
/ 16 ноября 2018

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

topics = c.classify("what about ")
a = list(topics.keys())
for key in a:
    if key == "resources": 
        print("yes")

Незабыть, что dict может иметь несколько значений.Как сказал @ rob-bricheno, вы можете сделать это проще с оператором in.Этот оператор перебирает list и, если указанный вами элемент находится в нем, возвращает True, в противном случае он возвращает False значение.Таким образом, вы можете сделать это с помощью этого упрощенного кода:

topics = c.classify("what about ")
a = list(topics.keys())
if "resources" in a:
    print("yes")

Когда resources находится в списке a, если условие True, то вызовет print.Когда его нет в a, print пропустит.

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