148 commands · 9 cheat sheets · Python
Collections and Iteration master quick reference
Browse 148 commands from 9 focused cheat sheets on page 1 of 1. Each example opens its matching detailed section.
Collections and Iteration · 17 commands
Python Collections, Heaps, and Bisect Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Count hashable values | counts = Counter(values) | View examples |
| Get common values | top = counts.most_common(3) | View examples |
| Sum counts | size = counts.total() | View examples |
| Group values | groups = defaultdict(list) | View examples |
| Initialize numeric counts | counts = defaultdict(int) | View examples |
| Add to the left | queue.appendleft(item) | View examples |
| Remove from the left | item = queue.popleft() | View examples |
| Keep a bounded history | history = deque(maxlen=100) | View examples |
| Layer mappings | config = ChainMap(cli, environment, defaults) | View examples |
| Add a child scope | child = config.new_child(overrides) | View examples |
| Declare a tuple record | Point = namedtuple('Point', ['x', 'y']) | View examples |
| Copy with field changes | moved = point._replace(x=10) | View examples |
| Push onto a min-heap | heappush(heap, (priority, item)) | View examples |
| Pop the smallest entry | priority, item = heappop(heap) | View examples |
| Select a few smallest values | lowest = nsmallest(3, values) | View examples |
| Find a right insertion point | index = bisect_right(values, target) | View examples |
| Insert while sorted | insort(values, item) | View examples |
Collections and Iteration · 12 commands
Python Comprehensions and Looping Patterns Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Transform into a list | squares = [n * n for n in numbers] | View examples |
| Filter and transform | names = [user.name for user in users if user.active] | View examples |
| Build a dictionary | by_id = {user.id: user for user in users} | View examples |
| Build unique results | domains = {email.rsplit('@', 1)[-1] for email in emails} | View examples |
| Stream transformed values | total = sum(n * n for n in numbers) | View examples |
| Pair with counters | for line_number, line in enumerate(lines, start=1): handle(line_number, line) | View examples |
| Pair equal-length inputs | for name, score in zip(names, scores, strict=True): report(name, score) | View examples |
| Sort by a key | ordered = sorted(users, key=lambda user: user.name.casefold()) | View examples |
| Flatten one level | flat = [item for group in groups for item in group] | View examples |
| Group adjacent keys | for key, group in groupby(sorted(rows, key=key_fn), key=key_fn): consume(key, group) | View examples |
| Chain iterables lazily | for item in chain(first, second): consume(item) | View examples |
| Detect no break | for ... else ... | View examples |
Collections and Iteration · 14 commands
Python Dictionaries Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a dictionary | user = {"name": "Ada", "role": "engineer"} | View examples |
| Create from keywords | user = dict(name="Ada", role="engineer") | View examples |
| Read a required key | name = user["name"] | View examples |
| Read an optional key | timezone = user.get("timezone", "UTC") | View examples |
| Check for a key | if "role" in user: print(user["role"]) | View examples |
| Set one value | user["active"] = True | View examples |
| Update several values | user.update({"role": "lead", "active": True}) | View examples |
| Create a merged dictionary | combined = defaults | overrides | View examples |
| Remove and return a value | role = user.pop("role", None) | View examples |
| Delete a required key | del user["active"] | View examples |
| Iterate over pairs | for key, value in user.items(): print(key, value) | View examples |
| Iterate over keys | for key in user: print(key) | View examples |
| Build with a comprehension | squares = {number: number ** 2 for number in range(4)} | View examples |
| Initialize a missing key | tags = groups.setdefault("python", []) | View examples |
Collections and Iteration · 18 commands
Python Iterators and Generators Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create an iterator | iterator = iter(values) | View examples |
| Advance an iterator | value = next(iterator) | View examples |
| Use an exhaustion default | value = next(iterator, None) | View examples |
| Consume with a loop | for value in iterable: print(value) | View examples |
| Add indexes | for index, value in enumerate(values, start=1): print(index, value) | View examples |
| Pair iterables | for name, score in zip(names, scores, strict=True): print(name, score) | View examples |
| Create a lazy expression | squares = (number * number for number in numbers) | View examples |
| Filter lazily | even = (number for number in numbers if number % 2 == 0) | View examples |
| Yield a value | yield value | View examples |
| Delegate iteration | yield from iterable | View examples |
| End a generator | return | View examples |
| Compose lazy stages | result = sum(value for value in source if value > 0) | View examples |
| Materialize values | cached = list(generator) | View examples |
| Stop when any value matches | found = any(value > 100 for value in values) | View examples |
| Take a lazy slice | first_five = islice(iterable, 5) | View examples |
| Chain iterables | combined = chain(first, second) | View examples |
| Generate a counter | identifiers = count(start=1000, step=10) | View examples |
| Close a generator | generator.close() | View examples |
Collections and Iteration · 19 commands
Python itertools, functools, and operator Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Concatenate iterables lazily | items = chain(first, second) | View examples |
| Flatten one iterable level | items = chain.from_iterable(groups) | View examples |
| Slice an iterator | page = islice(source, start, stop, step) | View examples |
| Create fixed-size batches | chunks = batched(source, 3) | View examples |
| Require complete batches | chunks = batched(source, 3, strict=True) | View examples |
| Iterate adjacent pairs | edges = pairwise(values) | View examples |
| Compute running totals | totals = accumulate(values) | View examples |
| Accumulate with a function | products = accumulate(values, operator.mul, initial=1) | View examples |
| Fork an iterator | left, right = tee(source, 2) | View examples |
| Group adjacent equal keys | groups = groupby(records, key=operator.itemgetter('team')) | View examples |
| Select with a Boolean mask | selected = compress(data, selectors) | View examples |
| Build a Cartesian product | coordinates = product(rows, columns) | View examples |
| Choose without ordering | pairs = combinations(values, 2) | View examples |
| Create an item lookup | by_score = operator.itemgetter('score') | View examples |
| Create an attribute lookup | by_name = operator.attrgetter('profile.name') | View examples |
| Create a method call | normalize = operator.methodcaller('strip') | View examples |
| Reduce to one value | total = reduce(operator.add, values, 0) | View examples |
| Pre-bind call arguments | parse_hex = partial(int, base=16) | View examples |
| Adapt a comparison function | key = cmp_to_key(compare) | View examples |
Collections and Iteration · 19 commands
Python Lists Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a list | items = ["alpha", "beta"] | View examples |
| Create from an iterable | items = list(range(1, 5)) | View examples |
| Read the first item | first = items[0] | View examples |
| Read the last item | last = items[-1] | View examples |
| Replace an item | items[1] = "updated" | View examples |
| Append one item | items.append("beta") | View examples |
| Append many items | items.extend(["gamma", "delta"]) | View examples |
| Remove by value | items.remove("beta") | View examples |
| Remove the last item | value = items.pop() | View examples |
| Remove by index | value = items.pop(0) | View examples |
| Slice a range | subset = items[1:4] | View examples |
| Slice with a step | subset = items[::2] | View examples |
| Reverse with slicing | reversed_items = items[::-1] | View examples |
| Transform every item | squares = [x ** 2 for x in items] | View examples |
| Filter items | evens = [x for x in items if x % 2 == 0] | View examples |
| Sort the existing list | items.sort() | View examples |
| Create a sorted copy | result = sorted(items) | View examples |
| Sort with a key | items.sort(key=str.lower) | View examples |
| Sort descending | items.sort(reverse=True) | View examples |
Collections and Iteration · 17 commands
Python Sets and Frozensets Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a populated set | colors = {'red', 'green', 'blue'} | View examples |
| Create an empty set | values = set() | View examples |
| Remove duplicates | unique = set(values) | View examples |
| Test membership | if user_id in active_ids: allow() | View examples |
| Add one member | tags.add('python') | View examples |
| Add several members | tags.update(['css', 'html']) | View examples |
| Remove a required member | tags.remove('legacy') | View examples |
| Discard if present | tags.discard('legacy') | View examples |
| Combine members | all_tags = required | optional | View examples |
| Keep shared members | shared = left & right | View examples |
| Subtract members | missing = required - supplied | View examples |
| Keep non-shared members | changed = before ^ after | View examples |
| Test subset | required <= supplied | View examples |
| Test proper subset | required < supplied | View examples |
| Test for no overlap | left.isdisjoint(right) | View examples |
| Build with a comprehension | lengths = {len(word) for word in words} | View examples |
| Create an immutable set | permissions = frozenset({'read', 'write'}) | View examples |
Collections and Iteration · 20 commands
Python Strings Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a string | message = "Hello, Python" | View examples |
| Create multiline text | message = "First line\\nSecond line" | View examples |
| Count code points | count = len(message) | View examples |
| Read one character | first = message[0] | View examples |
| Slice a range | prefix = message[:5] | View examples |
| Reverse code points | reversed_text = message[::-1] | View examples |
| Trim surrounding whitespace | clean = raw.strip() | View examples |
| Lowercase text | lowered = name.lower() | View examples |
| Normalize for comparison | matches = left.casefold() == right.casefold() | View examples |
| Check for text | contains = "error" in message | View examples |
| Check a prefix | is_secure = url.startswith("https://") | View examples |
| Find a position | position = message.find("Python") | View examples |
| Replace text | updated = message.replace("draft", "ready") | View examples |
| Split fields | fields = line.split(",") | View examples |
| Split once | key, value = line.split("=", maxsplit=1) | View examples |
| Join strings | path = "/".join(parts) | View examples |
| Interpolate values | message = f"{name} has {count} tasks" | View examples |
| Format a number | label = f"Total: ${total:,.2f}" | View examples |
| Encode text | payload = message.encode("utf-8") | View examples |
| Decode bytes | message = payload.decode("utf-8") | View examples |
Collections and Iteration · 12 commands
Python Tuples, Ranges, and Sequence Operations Cheat Sheet
| Use | Syntax | Examples |
|---|---|---|
| Create a tuple | point = (3, 4) | View examples |
| One-item tuple | single = ('only',) | View examples |
| Pack values | record = name, score, active | View examples |
| Unpack positions | name, score = record | View examples |
| Capture the middle | first, *middle, last = values | View examples |
| Count from zero | range(5) | View examples |
| Use start, stop, step | range(10, 0, -2) | View examples |
| Read by index | last = values[-1] | View examples |
| Slice a sequence | copy = values[start:stop:step] | View examples |
| Test membership | if target in values: handle(target) | View examples |
| Iterate with positions | for index, value in enumerate(values, start=1): print(index, value) | View examples |
| Pair sequences strictly | pairs = zip(names, scores, strict=True) | View examples |



