【问题标题】:Find a list of substring into a list of strings with python使用python将子字符串列表查找到字符串列表中
【发布时间】:2020-01-23 18:44:41
【问题描述】:

我有一个链接列表,想根据链接中的子字符串列表选择一些链接。我想选择带有子字符串 medalhamencao-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:])

谢谢。

【问题讨论】:

  • 小心使用in,它的行为方式令人惊讶。例如,如果我正在查找单词 'cat''cat' in 'catastrophe' 将返回 True。

标签: python string list find substring


【解决方案1】:

试试这个,

[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])]

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 2012-05-16
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 2018-09-27
    • 2016-10-21
    • 1970-01-01
    相关资源
    最近更新 更多