Использование нескольких инструкций NOT IN с Python

Мне нужны URL-адреса с тремя конкретными подстроками из цикла. Следующий код работал, но я уверен, что есть более элегантный способ сделать это:

for node in soup.findAll('loc'): url = node.text.encode("utf-8") if "/store/" not in url and "/cell-phones/" not in url and "/accessories/" not in url: objlist.loc.append(url) else: continue 

Спасибо!

  • Как проверить, содержит ли строка только буквы в Python?
  • Проверка состояния и обработка исключений
  • Назначить булевое значение класса в Python
  • Как проверить, является ли str (переменная) пустым или нет?
  • Как проверить наличие атрибутов и тегов в XML перед разбором?
  • Замените все элементы массива Python NumPy, которые больше некоторого значения
  • простой оператор python if не работает
  • Как сделать этот блок кода python коротким и эффективным
  • Как проверить, является ли str (переменная) пустым или нет?
  • ошибка программы python elif else if
  • Поиск четных чисел в Python
  • Python: elif или new if?
  • One Solution collect form web for “Использование нескольких инструкций NOT IN с Python”

     url = node.text.encode("utf-8") sub_strings = ['/store','/cell-phones/','accessories'] if not any(x in url for x in sub_strings): objlist.loc.append(url) else: continue 

    Из документов :

    any возвращает True, если какой-либо элемент итерабельности true. Если итерабельность пуста, верните False. Эквивалент:

     def any(iterable): for element in iterable: if element: return True return False 
    Python - лучший язык программирования в мире.