如何将元组中的一些项从列表转换为浮点数?

Fel*_*con 2 python tuples list

由于我之前在我的脚本中做了一些切片,我最终得到了一个巨大的元组,如下所示:

(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, [102.37], [129.6], [190.64], [181.98], [192.79])
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,前7个项目是浮点数,另一个是包含每个元素的列表,这些列表也是浮点数.

我想摆脱列表并保留浮点数,以便我可以将所有值相加以计算6个月期间的平均股票价格.

实现这一目标的最pythonic方法是什么?

shx*_*hx2 8

无论是浮点数还是列表,此函数都会返回浮点数:

def delistify(x):
    try:
        return x[0]
    except TypeError:
        return x
Run Code Online (Sandbox Code Playgroud)

如果您需要输出为元组,则可以使用它:

print tuple( delistify(x) for x in my_list )
Run Code Online (Sandbox Code Playgroud)

或者,如果列表也可以,最pythonic是列表理解:

print [ delistify(x) for x in my_list ]
Run Code Online (Sandbox Code Playgroud)