22 lines
678 B
Python
22 lines
678 B
Python
def filter_keywords(text: str, keywords: list[str]) -> list[str]:
|
||
"""
|
||
Prend un texte et une liste de mots‑clés (insensibles à la casse).
|
||
Retourne les mots du texte (sans ponctuation) qui contiennent au moins un mot‑clé.
|
||
Si un mot du texte contient plusieurs mots‑clés, il n’est listé qu’une fois.
|
||
"""
|
||
res = []
|
||
for word in keywords:
|
||
nb_occ = text.lower().count(word.lower())
|
||
res.extend([word] * nb_occ)
|
||
return res
|
||
|
||
|
||
def main():
|
||
text = "Python est génial ! J'adore Python, surtout les listes."
|
||
keywords = ["python", "liste"]
|
||
print(filter_keywords(text, keywords))
|
||
|
||
|
||
if __name__ == "__main__":
|
||
main()
|