Python Какой наиболее оптимальный способ проверки есть ли общий элемент? Есть строка a и кортеж signs как можно максимально сократить код, чтобы функция проверяла есть ли хотя бы один из знаков в этой строке?signs=('.','!','?') def sign(a): t=False for i in a: if i in signs: t=True break return t ... if sign(text[i].cont) and (i!=len(text)-1): ... И можно ли заменить функцию на lambda, использовать map?
Да, можно упростить код, используя lambda функцию и функцию any, которая возвращает True, если хотя бы один элемент в итерируемом объекте истинный:
signs = ('.', '!', '?')
sign = lambda a: any(i in signs for i in a)
Если вы хотите использовать map, вы можете сделать что-то вроде:
sign = lambda a: any(map(lambda x: x in signs, a))
Это также позволит вам использовать lambda функцию и map вместо цикла.