nixbox
@nixbox

Как узнать какая инструкция сработала при конструкции if 'слово1' in string or 'слово2' in string?

Приветствую!
Произвожу поиск подстроки следующим образом:
if  'слово1' in string or 'слово2' in string  or 'слово3' in string:
    return True

Есть ли здесь возможность узнать какое именно условие сработало (какое слово было найдено)?
Или может есть другой способ при котором это было бы возможно?
  • Вопрос задан
  • 302 просмотра
Решения вопроса 2
@GeneD88
QA
words = ['слово1','слово2','слово3']
string = 'слово123'
{i:True for i in words if i in string}


==>
{'слово1':True}
Ответ написан
Комментировать
Duha666
@Duha666
if 'слово1' in string:
    # сработало первое
    return True
if 'слово2' in string:
    # сработало второе
    return True
if 'слово3' in string:
    # сработало третье
    return True


Еще можно в цикле:
words = ['слово1', 'слово2', 'слово3']
for word in words:
    if word in string:
        # найдено word
        return True
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
0dminik
@0dminik
Учусь верстке и программирование на python
пошаговая отладка в помощь
думаю сразу поймешь что к чему
Ответ написан
Комментировать
@abcd0x00
>>> def f(s):
...     words = ('слово1', 'слово2', 'слово3')
...     for w in words:
...         if w in s:
...             return w
... 
>>> f('abc слово2 def слово1 ghi')
'слово1'
>>> f('abc def ghi')
>>>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы