What is Python's zip() function?
Why Interviewers Ask This
Interviewers use this question to quickly assess whether a candidate has the foundational knowledge required for Python development. It reveals whether you understand the building blocks that more complex concepts rely on.
Answer
zip(iter1, iter2, ...) takes multiple iterables and pairs up elements at the same position, returning an iterator of tuples. Example: names = ["Alice", "Bob"]; ages = [25, 30]; list(zip(names, ages)) → [("Alice", 25), ("Bob", 30)]. Zip stops at the shortest iterable. Use itertools.zip_longest() to continue to the longest, filling missing values with a fillvalue. Unzip a list of tuples: names, ages = zip(*pairs). Zip with enumerate: for i, (name, age) in enumerate(zip(names, ages)). Zip with dict comprehension: dict(zip(keys, values)). Zip is excellent for parallel iteration of related sequences, transposing matrices, and combining data from two lists into a structured format.
Pro Tip
If you're unsure about a detail, say so honestly and explain your reasoning. Interviewers respect candidates who can think through uncertainty rather than bluffing.