>>> from itertools import groupby
>>> from operator import itemgetter
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list2
[0, 0, 3, 4, 5, 0, 0, 8, 9, 0]
>>> [[e[0] for e in v]
for k,v in groupby(((a ,b, a==b)
for a,b in zip(list1, list2)), itemgetter(2))
if k]
[[3, 4, 5], [8, 9]]
In case you wan;t to use difflib as suggested by @F.J., you should use in this way
>>> [list1[match.a: match.a + match.size]
for match in SequenceMatcher(None,list1,list2).get_matching_blocks()[:-1]]
But remember this will be far inefficient than the previous linear solution
1
solved Find common slices in two Python lists