Мне тоже не понятно, но вы можете использовать следующее, если хотите, чтобы элементы не были в кортежах в дополнение к первому элементу в кортеже:
og = [[0, (1, 2), (2, 1), (3, 3)],
[(1, 4), (3, 'y'), ('x', 'y'), ('x', 'y')],
[(2, 1), (1, 'y'), ('x', 'y'), ('x', 'y')],
[(3, 1), ('x', 'y'), ('x', 'y'),('x', 'y')]]
firsts = [x[0] if isinstance(x, tuple) else x for y in og for x in y]
Если вы ищете только элементы с кортежем, передвиньте логику примерно так:
firsts = [x[0] for y in og for x in y if isinstance(x, tuple)]