python 元组嵌套元组处理问题

A = ((a , 0.0 , 200 , 1.26 , text_b), ((a , 0.0 , 100, 2.32, text_b), (a , 0.0 , 200, 2.32, text_b)))
B = ((a , 0.0 , 200, 2.27, text_b), (a , 0.0 , 200, 2.05, text_b))
C = ((a , 0.0 , 200, 1.35, text_b), ((a , 0.0 , 150, 1.8, text_b), (a , 0.0 , 200, 1.8, text_b)))
D = ((a , 0.0 , 200, 2.27, text_b), (a , 0.0 , 200, 1.35, text_b), (a , 0.0 , 200, 2.05, text_b))
E = ((a , 0.0 , 200, 2.27, text_b), (a , 0.0 , 200, 1.35, text_b), ((a , 0.0 , 150, 1.8, text_b), (a , 0.0 , 200, 1.8, text_b)))

元组中包含元组,数量不确定,层数只有两层,怎么能优雅的把元组中所有的那个小数(位置固定的)取出来?
前面问过一次,元组里只有两个值的时候已经完美解决(见另一个问题)。现在又增加了元素求赐教。

把嵌套元组转成一维列表,再取元素

def trans(lst):
    res = []
    for i in lst:
        if isinstance(i, tuple):
            res.extend(trans(i))
        else:
            res.append(i)
    return res

trans(A)
[5, 0.0, 200, 1.26, 'abc', 5, 0.0, 100, 2.32, 'abc', 5, 0.0, 200, 2.32, 'abc']