1
votes

Vérifiez que toute valeur d'une liste existe dans une phrase

J'essaie de vérifier si une valeur dans une liste existe dans une phrase comme ci-dessous:

rich = ["Businessman","Robber","Politician"]
poor = ["Programmer","Engineer","Doctor"]

whoAmI = "I am an Engineer"

if rich.*MISSING_HERE* in whoAmI:
    print "You are RICH"
else :
    print "You are POOR"

Si vous regardez la ligne avec l'instruction if, je vérifie si un élément de rich est disponible dans whoAmI . Comment vérifier cela?


4 commentaires

Itérez simplement le tableau rich


Double possible de Itération sur des tableaux en Python 3


Que signifie rich. * MISSING_HERE * ?


Cela signifie qu'il me manque quelque chose pour vérifier si whoAmI contient l'un des éléments de rich


5 Réponses :


4
votes

Utilisez la méthode any () -

if any(r in whoAmI for r in rich):
    print "You are RICH"
else :
    print "You are POOR"


0 commentaires

2
votes

Essayez for else boucle

rich = ["Businessman","Robber","Politician"]
poor = ["Programmer","Engineer","Doctor"]
whoAmI = "I am an Engineer"

for r in rich:
    if r in whoAmI:
        print "You are RICH"
        break
else:
    print "You are POOR" 


0 commentaires

0
votes

Nous pouvons utiliser le module re ou regex de la bibliothèque Python pour rechercher le mot dans la chaîne. Nous utiliserons une simple boucle for (Note: Complexité temporelle: O (n))

import re

rich = ["Businessman","Robber","Politician"]
poor = ["Programmer","Engineer","Doctor"]

whoAmI = "I am an Businessman"

for word in rich:
    if re.search(i, whoAmI):
        print("Rich")
        quit()

print("Poor")

Nous utilisons la fonction intégrée Python quit () afin d'éviter la même résultats de l'affichage plusieurs fois.


0 commentaires

0
votes

Vous pouvez utiliser cette réponse simplifiée

[any( j in rich for j in whoAmI.split())]

S'il remplit la condition, il répondra Vrai (c'est-à-dire 'riche') sinon il notifiera Faux.

p >


0 commentaires

0
votes

Avec une liste de compréhension:

if len([x for x in rich if x in whoAmI]):
    print ("You are RICH")
else :
    print ("You are POOR")

Vous êtes PAUVRE


0 commentaires