Найти список подстрок в список строк с python - PullRequest
0 голосов
/ 23 января 2020

У меня есть список ссылок, и я хочу выбрать некоторые из них, основываясь на списке подстрок в ссылке. Я хотел бы выбрать ссылки с подстроками medalha или mencao-honrosa . После примера выбранных ссылок.

https://onciencias.org/resultado/detalhe/9-ano-ensino-fundamental/medalha-ouro
https://onciencias.org/resultado/detalhe/9-ano-ensino-fundamental/medalha-prata
https://onciencias.org/resultado/detalhe/9-ano-ensino-fundamental/medalha-bronze
https://onciencias.org/resultado/detalhe/9-ano-ensino-fundamental/mencao-honrosa
https://onciencias.org/resultado/detalhe/1-serie/medalha-ouro
https://onciencias.org/resultado/detalhe/1-serie/medalha-prata
https://onciencias.org/resultado/detalhe/1-serie/medalha-bronze
https://onciencias.org/resultado/detalhe/1-serie/mencao-honrosa
https://onciencias.org/resultado/detalhe/2-serie/medalha-ouro
https://onciencias.org/resultado/detalhe/2-serie/medalha-prata
https://onciencias.org/resultado/detalhe/2-serie/medalha-bronze
https://onciencias.org/resultado/detalhe/2-serie/mencao-honrosa
https://onciencias.org/resultado/detalhe/3-serie/medalha-ouro
https://onciencias.org/resultado/detalhe/3-serie/medalha-prata
https://onciencias.org/resultado/detalhe/3-serie/medalha-bronze
https://onciencias.org/resultado/detalhe/3-serie/mencao-honrosa
https://onciencias.org/resultado/detalhe/4-ano-tecnico/medalha-ouro
https://onciencias.org/resultado/detalhe/4-ano-tecnico/medalha-prata
https://onciencias.org/resultado/detalhe/4-ano-tecnico/medalha-bronze
https://onciencias.org/resultado/detalhe/4-ano-tecnico/mencao-honrosa

Я сделал следующий код, и он работает. Как лучше написать этот код и избегать использования или для разделения подстрок.

for temp_link in list_links:
    if(str(temp_link).find('medalha') != -1 or str(temp_link).find('mencao-honrosa') != -1):
        links.append(url_home+temp_link[1:])
        print(url_home+temp_link[1:])

Спасибо.

1 Ответ

3 голосов
/ 23 января 2020

Попробуйте,

[url for url in urls if 'medalha' in url or 'mencao-honrosa' in url]

или, если у вас есть список поисковых запросов, может быть что-то вроде этого.

search_terms = ['medalha', 'mencao-honrosa']
[url for url in urls if any([term in url for term in search_terms])]
...