Voici quelques listes initiales:

list_of_phrases = ['community is', 'or language', 'opinion-based']


list_of_sentence = ['The community is here to help you with specific coding, algorithm, or language problems. Avoid asking opinion-based questions.']

Nouvelle liste attendue:

list_of_sentence = ['community is or language opinion-based']

S'il n'y a pas de correspondance, je veux que list_of_sentence affiche:

list_of_sentence = ['None']
0
Bercey Efund 3 juin 2020 à 21:07

4 réponses

Meilleure réponse
new_str = list_of_sentence[0]
new_list = []

counter = 0

for phrase in list_of_phrases:
    if phrase in new_str:
        new_list.append(phrase)
        counter += 1

if counter == 0:
    list_of_sentence = ['None']
else:
    list_of_sentence = [' '.join(new_list)]
0
challasandeep420 7 juin 2020 à 11:52

Ici, cela devrait faire le travail

list_of_phrases = ['community is', 'or language', 'opinion-based']
list_of_sentence = ['The community is here to help you with specific coding, algorithm, or language problems. Avoid asking opinion-based questions.']
for phrase in list_of_phrases.copy():
    if phrase not in list_of_sentence[0]:
        list_of_phrases.remove(phrase)

list_of_sentence = [' '.join(list_of_phrases)]
if len(list_of_sentence) <= 1:
    list_of_sentence = ['None']

Vous pouvez aussi le mettre dans une fonction mais c'est à vous de décider.

0
Shahid Khan 4 juin 2020 à 09:51

En utilisant

import re
my_str = 'The community is here to help you with specific coding, algorithm, or language problems. Avoid asking opinion-based questions.'
community_list = [occ.start() for occ in re.finditer('community is', my_str)]

Vous donnerait toutes les occurrences de community is. Faites de même pour les autres mots, puis créez une nouvelle chaîne en utilisant les emplacements dans ces listes et vous obtenez votre chaîne.

0
snatchysquid 3 juin 2020 à 18:19

Utilisez l'opérateur in .

Si chaîne1 dans chaîne2:

Vous pouvez utiliser des boucles for pour vous déplacer dans les listes

0
Purple UniTurtle Man 3 juin 2020 à 18:15