Basic unpacking
x, y = (3, 4)
a, b, c = "abc"
first, *rest = (1, 2, 3, 4)
zip() and enumerate()
names = ["alice", "bob"]
scores = [92, 85]
for name, score in zip(names, scores):
print(name, score)
for i, name in enumerate(names):
print(i, name)
Multiple return values
def min_max(nums):
return min(nums), max(nums)
lo, hi = min_max([3, 1, 4, 1, 5])
Argument packing with *args
def total(*args):
return sum(args)
total(1, 2, 3, 4)
Sorting by tuple key
pairs = [("bob", 85), ("alice", 92)]
pairs.sort(key=lambda p: p[1])