Skip to content Skip to sidebar Skip to footer

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"