Ignore Case In String Comparison
If I have two variables, a and b and they could be integers, float, or strings. I want to return True if they are equal (in case of string, ignore case). As Pythonic as possible.
Solution 1:
This is the most pythonic I can think of. Better to ask for foregiveness than for permission:
>>>defiequal(a, b):...try:...return a.upper() == b.upper()...except AttributeError:...return a == b...>>>>>>iequal(2, 2)
True
>>>iequal(4, 2)
False
>>>iequal("joe", "Joe")
True
>>>iequal("joe", "Joel")
False
Solution 2:
How about this, without isinstance (frowned upon):
defequal(a, b):
try:
return a.lower() == b.lower()
except AttributeError:
return a == b
Solution 3:
>>>defequals_ignore_case(a,b):...return a.upper() == b.upper()...>>>equals_ignore_case("hello","Hello")
True
Post a Comment for "Ignore Case In String Comparison"