An modernized Vertical scan solution using a generator expression and Python 3's builtin zip:
lst = [[3,2,1], [3,2,1,1,5], [3,2,1,8,9], [3,2,1,5,7,8,9]]
next(zip(*(x for x in zip(*lst) if len(set(x)) == 1)))
# (3, 2, 1)
See also a related Leetcode problem - Longest Common Prefix.