Вы можете выполнить сопряжение смежных элементов каждого подсписка, сжав себя со смещением 1, а затем использовать itertools.takewhile
для вывода пар до тех пор, пока первый элемент не будет равен '2'
:
from itertools import takewhile
l = [['1', '2', '4'], ['1', '48', '2'], ['53', '33', '25', '2', '26', '47']]
[list(t) for s in l for t in takewhile(lambda t: t[0] != '2', zip(s, s[1:]))]
Возвращает:
[['1', '2'], ['1', '48'], ['48', '2'], ['53', '33'], ['33', '25'], ['25', '2']]