from typing import Any


def pick(
    keys: list[str] | tuple[str, ...],
    dct: dict[str, Any],
    exclude_none: bool = True,
    default: Any = None,
) -> dict[str, Any]:
    """Returns a partial copy of an object containing only the keys specified."""
    return {
        k: dct.get(k, default) for k in keys if k in dct or not exclude_none
    }


def omit(
    keys: list[str] | tuple[str, ...], dct: dict[str, Any]
) -> dict[str, Any]:
    """Returns a partial copy of an object omitting the keys specified."""
    return {k: dct[k] for k in dct.keys() if k not in keys}
