2015-08-19 3 views
2

у меня есть эти строки:проверка Python, если строка содержит словарь ключевых

>>> a="foo" 
>>> b="foo_KEY" 

и словарь, как:

>>> DICT 
{ 
'KEY': ['...'], 
'KEY2': ['...', '...'], 
... 
} 

Я хотел бы построить функцию, которая проверить, если тестовое значение в любая клавиша ввода dict:

>>> has_key(a, DICT) 
False 
>>> has_key(b, DICT) 
True 

Что является самым элегантным способом выполнения этой задачи в Python 3?

+0

Вы спрашиваете, есть ли тестовое значение в любом ключе в dict? – muddyfish

+0

@ muddyfish Точно. Я редактирую свой вопрос, чтобы сделать его понятным – Rowandish

+0

Вы спрашиваете * Я хотел бы построить функцию, которая проверяет, есть ли тестовое значение в любой клавише ввода dict *, это не то, что показывает ваш вывод –

ответ

4
has_key = lambda a, d: any(k in a for k in d) 
+0

Ooo, 'any() 'приятно, спасибо @Delgan! –

+0

@ AndyKubiak [any()] (https://docs.python.org/3/library/functions.html#any) и [all()] (https://docs.python.org/3/library/ functions.html # all) - очень мощные встроенные функции, вы полюбите их. ;) – Delgan

+2

Почему это лямбда? – jme

Смежные вопросы