Strings
String Operations
Concatenation, repetition, membership
Interview: Basic operations
Strings support standard sequence operations: concatenation (+), repetition (*), membership testing (in), iteration, and comparison. Understanding performance characteristics of each operation is important for writing efficient code.
Concatenation
Use + to join strings. Since strings are immutable, each concatenation creates a new string object. For joining many strings, use "".join() instead.
Comparison
Strings are compared lexicographically using Unicode code points. "apple" < "banana" is True because 'a' < 'b'. Use casefold() for case-insensitive comparison.
Iteration
Strings are iterable — you can loop over characters with for char in s: or use enumerate() for index-value pairs.
Use Cases
Building strings efficiently with join() vs concatenation
Alphabetical sorting and comparison of text data
Character-by-character text processing
Creating visual separators with string repetition
Common Mistakes
Using += in a loop for string building (O(n^2) — use join instead)
Forgetting that string comparison is case-sensitive
Not understanding lexicographic comparison for mixed-case strings
Using in operator on very long strings repeatedly (consider using a set)