Я несколько раз писать один и тот же кусок кода:
def stringInList(str, list):
retVal = False
for item in list:
if str in item:
retVal = True
return retVal
Есть ли способ я могу написать эту функцию быстрее/с меньшим количеством кода? Я обычно использую это в if заявление, как это:
if stringInList(str, list):
print 'string was found!'
Да, использовать любой()
:
if any(s in item for item in L):
print 'string was found!'
Как врачи говоря, это примерно эквивалентно функции, но и любая()можно брать выражений генератор, а не просто строку и список, и любой () коротких замыканий. Однажды в пункт
- это правда, нарушает функцию (вы можете просто сделать это с помощью функции, если вы просто измените код = True " на " возвращать true
. Помните, что функции перерыва, когда он возвращает значение).
Вы должны избегать именования ул строк и список списков``. Это будет переопределить встроенные типы.