馃悕 Python Course

Strings

Strings

String methods

MethodPurposeReturnsComplexityNotes
lower()Convert to lowercaseNew stringO(n)Original string unchanged
upper()Convert to uppercaseNew stringO(n)Original string unchanged
casefold()Aggressive lowercase for comparisonsNew stringO(n)Better for case-insensitive matching
strip()Remove whitespace from both endsNew stringO(n)Use lstrip() / rstrip() for one side
lstrip()Remove whitespace from left sideNew stringO(n)Useful for parsing
rstrip()Remove whitespace from right sideNew stringO(n)Common for file lines
replace(old, new)Replace substringNew stringO(n)Replaces all occurrences by default
split(sep)Split into listlist[str]O(n)Common for parsing text
splitlines()Split multiline text into lineslist[str]O(n)Very useful for file/text processing
join(iter)Join iterable into stringNew stringO(n)Very common interview question
find(sub)Find first occurrenceintO(n)Returns -1 if not found
rfind(sub)Find last occurrenceintO(n)Returns -1 if not found
index(sub)Find first occurrenceintO(n)Raises ValueError if not found
rindex(sub)Find last occurrenceintO(n)Raises ValueError if not found
count(sub)Count occurrencesintO(n)Counts substring matches
startswith(prefix)Check prefixboolO(k)k = prefix length
endswith(suffix)Check suffixboolO(k)Common in path checks
partition(sep)Split once at first separatortupleO(n)Returns (before, sep, after)
rpartition(sep)Split once at last separatortupleO(n)Useful for paths/domains
removeprefix(x)Remove prefix if presentNew stringO(k)Cleaner than slicing
removesuffix(x)Remove suffix if presentNew stringO(k)Great for extensions
isdigit()Check if all chars are digitsboolO(n)Useful for validation
isnumeric()Check if all chars are numericboolO(n)Broader than isdigit()
isalpha()Check if all chars are lettersboolO(n)Useful for validation
isalnum()Check letters/digits onlyboolO(n)Common input checks
isspace()Check whitespace onlyboolO(n)Useful in parsing
islower()Check lowercaseboolO(n)Validation/helper
isupper()Check uppercaseboolO(n)Validation/helper
format(...)String formattingNew stringO(n)Older alternative to f-strings

Common string operations

OperationPurposeReturnsComplexityNotes
s[i]Get character by indexCharacterO(1)Strings are immutable
s[a:b]Slice substringNew stringO(k)k = slice size
s[::-1]Reverse copyNew stringO(n)Common interview trick
len(s)String lengthintO(1)Very common
x in sSubstring / char checkboolO(n)Membership test
s1 + s2Concatenate stringsNew stringO(n + m)Creates new string
s * nRepeat stringNew stringO(n路k)Common for patterns
for ch in sIterate charactersIterator behaviorO(n) totalVery common
enumerate(s)Iterate index + charIteratorO(n) totalCommon in interviews
ord(ch)Character to Unicode code pointintO(1)Useful in algorithms
chr(i)Code point to characterCharacterO(1)Reverse of ord()

Lists

List methods

MethodPurposeReturnsComplexityNotes
append(x)Add single element to endNoneO(1) amortizedAdds whole object as one element
extend(iter)Add all elements from iterableNoneO(k)Adds each element individually
pop([i])Remove and return elementElementO(1) end, O(n) startDefault is last item
insert(i, x)Insert element at indexNoneO(n)Shifts elements right
remove(x)Remove first matching valueNoneO(n)Raises ValueError if not found
index(x)Find first matching valueIndexO(n)Raises ValueError if not found
count(x)Count occurrences of valueintO(n)Returns 0 if not found
reverse()Reverse list in placeNoneO(n)Mutates original list
clear()Remove all elementsNoneO(n)Keeps same list object
copy()Shallow copyNew listO(n)Same as lst[:]
sort(key=, reverse=)Sort in placeNoneO(n log n)Stable Timsort
sorted(iter, key=)Return new sorted listNew listO(n log n)Built-in, works on any iterable

Common list operations

OperationPurposeReturnsComplexityNotes
lst[i]Get item by indexElementO(1)Negative indexing supported
lst[i] = xUpdate item by indexNoneO(1)Mutates list
del lst[i]Delete item by indexNoneO(n)Shifts elements left
len(lst)Number of elementsintO(1)Very common in interviews
x in lstMembership checkboolO(n)Linear scan
for x in lstIterate through elementsIterator behaviorO(n) totalMost common iteration pattern
enumerate(lst)Iterate with index + valueIteratorO(n) totalCommon in loops
lst[a:b]Slice listNew listO(k)k = slice size
lst[a:b:c]Slice with stepNew listO(k)Useful for stepping
lst[::-1]Reversed copyNew listO(n)Creates new list
lst1 + lst2Concatenate listsNew listO(n + m)Creates new object
lst * nRepeat listNew listO(n路k)Copies references
min(lst)Smallest valueElementO(n)Built-in
max(lst)Largest valueElementO(n)Built-in
sum(lst)Sum numeric valuesNumberO(n)Built-in

Tuples

Tuple methods

MethodPurposeReturnsComplexityNotes
count(x)Count occurrences of valueintO(n)Returns 0 if not found
index(x)Find first matching valueIndexO(n)Raises ValueError if not found

Quick Reference: Common tuple operations

OperationPurposeReturnsComplexityNotes
tuple(iterable)Create tuple from iterableNew tupleO(n)Very common conversion
(x,)Create single-element tupleTupleO(1)Comma is required
t[i]Get item by indexElementO(1)Negative indexing supported
t[a:b]Slice tupleNew tupleO(k)k = slice size
len(t)Number of elementsintO(1)Very common in interviews
x in tMembership checkboolO(n)Linear scan
for x in tIterate through elementsIterator behaviorO(n) totalCommon iteration pattern
enumerate(t)Iterate with index + valueIteratorO(n) totalCommon in loops
t1 + t2Concatenate tuplesNew tupleO(n + m)Creates new object
t * nRepeat tupleNew tupleO(n路k)Copies references
min(t)Smallest valueElementO(n)Built-in
max(t)Largest valueElementO(n)Built-in
sum(t)Sum numeric valuesNumberO(n)Built-in
a, b = tTuple unpackingVariablesO(n)Very common in practice
a, *rest = tExtended unpackingVariablesO(n)Useful for flexible assignment
hash(t)Hash immutable tupleintO(n)Only if all elements are hashable
t1 < t2Lexicographical comparisonboolO(n)Compared left to right

Dictionaries

Dictionary methods

MethodPurposeReturnsComplexityNotes
get(key, default=None)Safely read valueValue or defaultO(1) averageNo KeyError if missing
keys()View of all keysdict_keys viewO(1)Dynamic view, not a list
values()View of all valuesdict_values viewO(1)Dynamic view
items()View of key-value pairsdict_items viewO(1)Very common for iteration
pop(key[, default])Remove and return value for keyValueO(1) averageRaises KeyError if missing and no default
popitem()Remove and return last inserted pair(key, value) tupleO(1) averageLIFO in modern Python
update(other)Merge in values from another mapping / iterableNoneO(k)Overwrites existing keys
setdefault(key[, default])Get value, insert default if missingValueO(1) averageUseful for grouping/counting
clear()Remove all itemsNoneO(n)Keeps same dict object
copy()Shallow copyNew dictO(n)Nested mutables are still shared
fromkeys(iterable, value=None)Create new dict with given keysNew dictO(n)All keys share same value object

Common dictionary operations

OperationPurposeReturnsComplexityNotes
d[key]Get value by keyValueO(1) averageRaises KeyError if missing
d[key] = valueInsert or update keyNoneO(1) averageOverwrites if key exists
del d[key]Delete key-value pairNoneO(1) averageDeletes only
len(d)Number of itemsintO(1)Very common
key in dMembership check by keyboolO(1) averageChecks keys, not values
value in d.values()Membership check by valueboolO(n)Values require scan
for key in dIterate keysIterator behaviorO(n) totalDefault iteration is over keys
for key, value in d.items()Iterate key-value pairsIterator behaviorO(n) totalMost common iteration pattern
dict(iterable_or_mapping)Create dict from mapping / pairsNew dictO(n)Common conversion
{k: v for ...}Dictionary comprehensionNew dictO(n)Very common in interviews
`d1d2`Merge dictionariesNew dictO(n + m)
`d1= d2`Merge into existing dictNoneO(m)
{**d1, **d2}Merge via unpackingNew dictO(n + m)Common in older code
sorted(d)Sorted list of keysNew listO(n log n)Dict iteration is by key
sorted(d.items(), key=...)Sort items with custom ruleNew listO(n log n)Common interview pattern
reversed(d)Reverse insertion-order keysIteratorO(n) totalModern Python

Sets

Set methods

MethodPurposeReturnsComplexityNotes
add(x)Add single elementNoneO(1) averageIgnores duplicates automatically
update(iterable)Add all elements from iterableNoneO(k) averageAdds each element
remove(x)Remove elementNoneO(1) averageRaises KeyError if missing
discard(x)Remove element safelyNoneO(1) averageNo error if missing
pop()Remove and return arbitrary elementElementO(1) averageOrder not guaranteed
clear()Remove all elementsNoneO(n)Keeps same set object
copy()Shallow copyNew setO(n)Elements are shared references
union(other)Combine unique elementsNew setO(n + m)Same as `
intersection(other)Common elements onlyNew setO(min(n,m)) avgSame as &
difference(other)Elements only in first setNew setO(n) avgSame as -
symmetric_difference(other)Elements in one but not bothNew setO(n + m)Same as ^
issubset(other)Check subset relationboolO(n) avgSame as <=
issuperset(other)Check superset relationboolO(n) avgSame as >=
isdisjoint(other)Check no overlapboolO(min(n,m)) avgVery common
intersection_update(other)In-place intersectionNoneO(min(n,m)) avgMutates original
difference_update(other)In-place differenceNoneO(n) avgMutates original
symmetric_difference_update(other)In-place XORNoneO(n + m)Mutates original

Common set operations

OperationPurposeReturnsComplexityNotes
x in sMembership checkboolO(1) averageMajor advantage of sets
len(s)Number of elementsintO(1)Very common
for x in sIterate elementsIterator behaviorO(n) totalOrder not guaranteed
set(iterable)Create set from iterableNew setO(n)Removes duplicates
set()Create empty setNew setO(1){} creates dict, not set
{x for x in values}Set comprehensionNew setO(n)Very common in interviews
`s1s2`UnionNew setO(n + m)
s1 & s2IntersectionNew setO(min(n,m)) avgCommon interview question
s1 - s2DifferenceNew setO(n) avgElements only in left set
s1 ^ s2Symmetric differenceNew setO(n + m)XOR behavior
s1 <= s2Subset checkboolO(n) avgEquivalent to issubset()
s1 >= s2Superset checkboolO(n) avgEquivalent to issuperset()
`s1= s2`In-place unionNoneO(m) avg
s1 &= s2In-place intersectionNoneO(min(n,m)) avgMutates left set
s1 -= s2In-place differenceNoneO(n) avgMutates left set
s1 ^= s2In-place XORNoneO(n + m)Mutates left set