The comparison operators also work on strings. To see if two strings are equal you simply write a boolean
expression using the equality operator.

Other comparison operations are useful for putting words in
lexicographical order.
This is similar to the alphabetical order you would use with a dictionary,
except that all the uppercase letters come before all the lowercase letters.

It is probably clear to you that the word apple would be less than (come before) the word banana.
After all, a is before b in the alphabet. But what if we consider the words apple and Apple?
Are they the same?

It turns out, as you recall from our discussion of variable names, that uppercase and lowercase letters are considered to be different from one another. The way the computer knows they are different is that
each character is assigned a unique integer value. “A” is 65, “B” is 66, and “5” is 53. The way you can
find out the so-called ordinal value for a given character is to use a character function called ord.

When you compare characters or strings to one another, Python converts the characters into their equivalent ordinal values and compares the integers from left to right. As you can see from the example above, “a” is greater than “A” so “apple” is greater than “Apple”.

Humans commonly ignore capitalization when comparing two words. However, computers do not. A common way to address this issue is to convert strings to a standard
format, such as all lowercase, before performing the comparison.

There is also a similar function called chr that converts integers into their character equivalent.

One thing to note in the last two examples is the fact that the space character has an ordinal value (32). Even though you don’t see it, it is an actual character. We sometimes call it a nonprinting character.

Check your understanding

strings-8-1: Evaluate the following comparison:

"Dog"<"Doghouse"

(A) True

Both match up to the g but Dog is shorter than Doghouse so it comes first in the dictionary.

(B) False

Strings are compared character by character.

strings-8-2: Evaluate the following comparison:

"dog"<"Dog"

(A) True

d is greater than D according to the ord function (68 versus 100).

(B) False

Yes, upper case is less than lower case according to the ordinal values of the characters.