Making String Comparision In Python
I was trying to replicate the strcmp from c in python.I typed the former program and it worked but the latter seems to work as well?please explain the latter one.I only expected ==
Solution 1:
<
, >
for string operands compare lexicogrphical orders, not their lengths.
>>> 'a' < 'b'
True
>>> 'a' > 'b'
False
>>> 'cat' > 'banana'
True
>>> 'cat' < 'banana'
False
Upper-case characters are smaller than their lower-case version.
>>> 'A' < 'a'
True
>>> 'A' > 'a'
False
So, your code does case-sensitive comparison.
You can use str.casefold
for case-insensitive comparsison, (Python 3.3+ only).
>>> 'A'.casefold()
'a'
>>> 'A'.casefold() == 'a'.casefold()
True
Solution 2:
Former one just compares the length of two strings. But latter one try to find which one is bigger. For instance:
A = "abcdef"
B = "b"
len(A) > len(B) will be true But B > A will be true, because "b" > "a" (which is the first letter of A)
Post a Comment for "Making String Comparision In Python"