if var is 'stringone' or 'stringtwo':
dosomething()
This does not work! I have a variable and I need it to do something when it is either of the values, but it will not enter the if statement. In Java if (var == "stringone" || "stringtwo")
works. How do I write this in Python?
This question is related to
python
if var == 'stringone' or var == 'stringtwo':
do_something()
or more pythonic,
if var in ['string one', 'string two']:
do_something()
for a in soup("p",{'id':'pagination'})[0]("a",{'href': True}):
if createunicode(a.text) in ['<','<']:
links.append(a.attrMap['href'])
else:
continue
It works for me.
Two separate checks. Also, use ==
rather than is
to check for equality rather than identity.
if var=='stringone' or var=='stringtwo':
dosomething()
if var == 'stringone' or var == 'stringtwo':
dosomething()
'is' is used to check if the two references are referred to a same object. It compare the memory address. Apparently, 'stringone' and 'var' are different objects, they just contains the same string, but they are two different instances of the class 'str'. So they of course has two different memory addresses, and the 'is' will return False.
Source: Stackoverflow.com