Sparse vector dot product
Return the dot product of two sparse vectors stored as index:value dictionaries.
What you’ll practice
This Level 1 exercise focuses on dictionaries in the Core Python curriculum. Solve the challenge prompt above using clear, idiomatic Python and the relevant language or standard-library tools.
Relevant Python reference: Mapping Types — dict.
Sample Test Cases
sparse_dot({0: 4, 3: 2}, {1: 5, 3: 7})14Further Reading
Reference Solution
Reveal Reference Solution & Sparse Vector Breakdown
def sparse_dot(a: dict[int, int], b: dict[int, int]) -> int: if len(a) > len(b): a, b = b, a return sum(value * b.get(index, 0) for index, value in a.items())Sparse Vector & Dot Product Concept
A vector is sparse when most of its elements are zero. To save memory, it is represented as a dictionary of index: value pairs for non-zero entries only.
Array: [4, 0, 0, 2]
Dict: {0: 4, 3: 2} # Only non-zero indices stored
Dot product for {0: 4, 3: 2} and {1: 5, 3: 7}:
idx 0: 4 × 0 = 0
idx 1: 0 × 5 = 0
idx 3: 2 × 7 = 14 (key present in both)
Total = 14Pro Tips & Keyboard Shortcuts
Open VS Code Color Theme Quick Pick to select from 20 dark and light themes.
Open practice settings drawer to toggle line numbers, indenting, font size & hints.
Expand sidebar menu, focus search bar, and highlight search text instantly.
Instantly highlight and focus code editor from anywhere, restoring cursor right where you left off.
Collapse sidebar and close all popups or settings drawers for clean focus view.