If the depth is 2, then you can use itertools:
import itertools
listoftuples = [(('elementone', 'elementtwo'), 'elementthree')]
final_list = [tuple(itertools.chain.from_iterable([i] if not isinstance(i, tuple) else i for i in b)) for b in listoftuples]
Output:
[('elementone', 'elementtwo', 'elementthree')]
However, with arbitrary depth, it is best to use recursion:
def flatten(s):
if not isinstance(s, tuple):
yield s
else:
for b in s:
for i in flatten(b):
yield i
listoftuples = [(('elementone', 'elementtwo'), 'elementthree')]
final_list = map(tuple, map(flatten, listoftuples))
Output:
[('elementone', 'elementtwo', 'elementthree')]