As @tobias_k suggested, the simplest way is to convert tuples and subtuples to string, and use the in
operator for substring check:
l = [('a','b','c','d','e'),
('f','g','h','i','l'),
('m','n','o','p','q'),
('r','s','t','u','v'),
('z', 'aa', 'ab', 'ac', 'ad'),
...]
def subtuple_index(tuples, t):
def tuple2str(t): return ',{},'.format(','.join(t))
t = tuple2str(t)
for i,x in enumerate(map(tuple2str, tuples)):
if t in x: return i
return -1
>>> subtuple_index(l, ('m','n'))
2
>>> subtuple_index(l, ('z','aa','ab'))
4
>>> subtuple_index(l, ('m','o'))
-1
>>> subtuple_index(l, ('z','a'))
-1