Algorithmsstring comparison
String Comparison (order, equality, casefold keys)
TT
Testlaa Team
May 14, 2026•1 min read
Comparing strings uses lexicographic order (<, >) like a dictionary: first differing character decides; if one is a prefix, shorter is smaller. Equality is ==; identity is is—do not confuse them.
Why this shows up in the real world
Version sorting tweaks string compare rules (10 after 2 unless padded). Git orders paths lexicographically in tree objects.
Core idea (explained for students)
Python compares strings element-wise by Unicode code points. For human sorting, locale.strcoll or libraries handle locale rules.
Try this in Python
print("apple" < "apply", "a" < "aa", sorted(["b", "A", "a"], key=str.casefold))
Common mistakes
- Case-sensitive vs insensitive—normalize first.
- Comparing
Noneto string without guard.
Key takeaways
- For sort keys, pack tuples
(primary, tie_breaker)instead of concatenating strings blindly. - Use
key=str.casefoldinsortedfor case-insensitive ordering.
Tags:
StringsPythonStudents
