Reference library

Dictionaries & sets

Key–value maps, uniqueness, counting, grouping, and fast lookups.

84 matches
Dictionaries & sets easy

How to convert string values to int or float in Python dicts

Recursively convert string values in nested dicts and lists to ints or floats when possible, leaving other strings untouched.

dict type-conversion recursion
Python
def coerce_str_values(data):
    """Recursively convert string values that look like ints or floats."""
    if isinstance(data, dict):
        return {key: coerce_str_values(val) for key, val in data.items()}
    elif isinstance(data, list):
        return [coerce_str_values(item) for item in data]
    elif isinstance…
12 0 Open
Dictionaries & sets easy

How to count words and find unique words in Python

Build a beginner-friendly text processor that counts word frequencies, finds unique words, and identifies words with vowels using dictionaries and sets.

dictionary set text-processing
Python
def text_processor(text):
    words = text.lower().replace(",", "").replace(".", "").split()
    word_count = {}
    
    for word in words:
        word_count[word] = word_count.get(word, 0) + 1
    
    unique_words = set(words)
    vowels = set("aeiou")
    words_with_vowels = {word for word in unique_words if vowe…
12 0 Open
Dictionaries & sets easy

How to merge dictionaries and sets in Python

Merges multiple dictionaries with the ** unpacking operator and combines sets using union operations into a single structure.

dict-merge set-union unpacking
Python
def merge_dictionaries_and_sets(school_dict, teacher_dict, course_dict, student_sets):
    """
    Merges multiple dictionaries and sets into a single combined structure.
    Demonstrates dict unpacking and set union operations.
    """
    # Merge all dictionaries using the unpacking operator (Python 3.9+)
    merged…
12 0 Open
Dictionaries & sets easy

How to swap dict keys and values in Python when values are unique

Swap dict keys and values using a dict comprehension, with a guard that raises an error when values repeat.

dictionary comprehension keys-values
Python
def swap_dict_keys_values(d):
    """Swap keys and values in a dict, assuming values are unique."""
    if len(set(d.values())) != len(d.values()):
        raise ValueError("Values must be unique to swap keys and values")
    return {v: k for k, v in d.items()}

if __name__ == "__main__":
    original = {"a": 1, "b": …
14 0 Open
Dictionaries & sets medium

LRU Cache with OrderedDict in Python

Implement an LRU cache using collections.OrderedDict to track insertion order and evict the least-recently-used item when capacity is exceeded.

lru-cache ordereddict caching
Python
from collections import OrderedDict

class LRUCache:
    def __init__(self, capacity):
        self.capacity = capacity
        self.cache = OrderedDict()

    def get(self, key):
        if key not in self.cache:
            return -1
        self.cache.move_to_end(key)
        return self.cache[key]

    def put(sel…
14 0 Open
Dictionaries & sets easy

Multiset with Counter update and elements in Python

Demonstrates using collections.Counter as a multiset: updating counts with update() and iterating elements() to get repeated items.

counter multiset collections
Python
from collections import Counter

multiset = Counter(['apple', 'banana', 'apple'])

multiset.update(['banana', 'cherry', 'apple'])

print("Elements after update:", sorted(multiset.elements()))
print("Counts:", dict(multiset))
print("Most common:", multiset.most_common(2))
13 0 Open
Dictionaries & sets easy

Parse Env Vars into Typed Dict in Python

Convert a list of environment variable names into a dictionary with automatically detected types (bool, int, float, or string), defaulting missing vars to None.

env-vars type-conversion dict
Python
import os
from typing import Any, Dict


def parse_env_vars(env_names: list[str], env: Dict[str, str] | None = None) -> Dict[str, Any]:
    """Parse a list of environment variable names into a typed dict.

    Each variable is parsed as:
    - bool: "true"/"false" (case-insensitive)
    - int: if it can be converted t…
13 0 Open
Dictionaries & sets easy

Serialize Python dict to JSON with custom default for datetime

Convert a Python dict containing datetime and set objects into JSON by providing a custom default serializer.

json datetime serialization
Python
import json
from datetime import datetime

def custom_serializer(obj):
    if isinstance(obj, datetime):
        return obj.isoformat()
    if isinstance(obj, set):
        return list(obj)
    return str(obj)

data = {
    "name": "Alice",
    "created_at": datetime(2024, 3, 15, 10, 30, 45),
    "tags": {"python", "j…
15 0 Open
Dictionaries & sets easy

Text Processor with Dictionaries and Sets in Python

Build a simple text processor that counts word frequencies with a dictionary and tracks unique words with a set.

dictionary set word-count
Python
def analyze_text(text):
    words = text.lower().split()
    word_freq = {}
    unique_words = set()
    
    for word in words:
        clean_word = word.strip('.,!?;:')
        if clean_word:
            word_freq[clean_word] = word_freq.get(clean_word, 0) + 1
            unique_words.add(clean_word)
    
    return…
12 0 Open
Dictionaries & sets medium

Traverse Nested Dict Paths Depth-First in Python

Recursively walk a nested dictionary depth-first and yield each full path from root to leaf as lists.

recursion generators nested-dicts
Python
def depth_first_paths(node, path=None):
    if path is None:
        path = []
    
    if not isinstance(node, dict):
        yield path + [node]
        return
    
    for key, value in node.items():
        new_path = path + [key]
        if isinstance(value, dict):
            yield from depth_first_paths(value, …
13 0 Open
Dictionaries & sets medium

Unflatten Dot Keys to Nested Dict in Python

Convert a flat dictionary with dot-separated keys into a nested dictionary structure using recursive setdefault loops.

dictionaries nested flatten
Python
def unflatten_dot_keys(flat_dict):
    result = {}
    for flat_key, value in flat_dict.items():
        parts = flat_key.split(".")
        current = result
        for part in parts[:-1]:
            current = current.setdefault(part, {})
        current[parts[-1]] = value
    return result


if __name__ == "__main_…
14 0 Open
Dictionaries & sets easy

Validate dictionary data with sets in Python

Validate a dictionary against required keys and allowed value sets, returning a list of validation errors.

dictionaries sets validation
Python
def validate_data(data, required_keys, allowed_values=None):
    """
    Validate a dictionary against required keys and optional allowed value sets.
    Returns a list of validation errors (empty list if valid).
    """
    errors = []
    
    # Check for missing required keys
    missing = set(required_keys) - set(…
14 0 Open

Browse by section

Each section groups closely related Python snippets.

Dictionaries & sets — Python code examples

What you will find here

This page collects dictionaries & sets snippets — short, copy-ready Python you can paste into our free online IDE and run without installing anything. Each sample includes a plain-English explanation and the full source code.

Samples vs tutorials and challenges

Samples are quick reference — one concept per page. For step-by-step teaching, use our Python tutorials. To test yourself, try quizzes or coding challenges. Clean up style with the Python formatter.