У меня есть приложение Python.Самый быстрый способ проверить, содержит ли строка любое слово из списка
Существует список 450 запрещенных фраз. От пользователя получено сообщение. Я хочу проверить, содержит ли это сообщение какие-либо из этих запрещенных фаразий. Каков самый быстрый способ сделать это?
В настоящее время у меня есть этот код:
message = "sometext"
lista = ["a","b","c"]
isContaining = false
for a, member in enumerate(lista):
if message.contains(lista[a]):
isContaining = true
break
Есть ли более быстрый способ сделать это? Мне нужно обрабатывать сообщение (максимум 500 символов) менее чем за 1 секунду.
'isContaining = любой (х в сообщении для й в) Листе' – falsetru
Прежде всего, удалить '' enumerate' и а, 'части , Замените 'lista [a]' на 'member'. Во-вторых, функция 'in' не быстрее? Итак, что-то вроде 'if member in message:' – Mathias711
Тестирование членства происходит быстрее на [a 'set'] (https://docs.python.org/2/library/stdtypes.html#set-types-set-frozenset). – jonrsharpe