Pulling from List using If/Else statement - Python
Pulling from List using If/Else statement - Python
I want to match the correct terms from my list. Here is my code:
stuff = ["cat", "dog", "house", "cat", "mouse"] for item in stuff: if "house" in item: print "house good" if "cat" in item: print "cat good" if "dog" in item: print "dog good" else: print "nothing else" The results are currently this:
cat good nothing else dog good house good nothing else cat good nothing else nothing else But I want the results to be this:
cat good dog good house good cat good nothing else Currently the script keeps pulling "nothing else" because of my else statement. But I don't know how to only making "nothing else" come up exclusively when a term in my list doesn't match the terms in my if statements. Does anyone know I can do this?
Answer by Daniel Roseman for Pulling from List using If/Else statement - Python
You should make all the conditions part of the same statement, by using elif. Currently the else only applies to the last condition.
if "house" in item: print "house good" elif "cat" in item: print "cat good" elif "dog" in item: print "dog good" else: print "nothing else" Answer by NPE for Pulling from List using If/Else statement - Python
You should be using elif, like so:
for item in stuff: if "house" in item: print "house good" elif "cat" in item: print "cat good" elif "dog" in item: print "dog good" else: print "nothing else" Otherwise the else only applies to the last if.
Answer by D.Paul for Pulling from List using If/Else statement - Python
you must use elif condition like :
stuff = ["cat", "dog", "house", "cat", "mouse"] for item in stuff: if "house" in item: print ("house good") elif "cat" in item: print ("cat good") elif "dog" in item: print ("dog good") else: print ("nothing else") Answer by Lee Netherton for Pulling from List using If/Else statement - Python
Other answers suggest that you should be using a elif statement to fix your code. This is perfectly reasonable. However, I just wanted to point out that with a slight refactoring of your code you can make it simpler, more readable, and more extendable:
stuff = ["cat", "dog", "house", "cat", "mouse"] good_stuff = set(["house", "cat", "dog"]) for item in stuff: if item in good_stuff: print item + " good" else: print "nothing else" Any time that you find yourself using if, elif, elif, elif, ... it is usually because you have designed your code badly.
Note that I am using a
sethere for optimisation purposes. If you don't know why, then I suggest you look here.
Answer by Alex Zhang for Pulling from List using If/Else statement - Python
Try not to use 'in', if I was you I will try to use '=='.
But judging that it is already in the list, so you won't need the 'for' part I guess, just 'if xxx in stuff'
Hope this helps!
Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\XAMPP INSTALLASTION\xampp\htdocs\endunpratama9i\www-stackoverflow-info-proses.php on line 72

0 comments:
Post a Comment