如何在python中将元组转换为浮点数?

use*_*316 1 python floating-point tuples

假设我使用字节数组创建了这样的元组:

import struct
a = struct.unpack('f', 'helo')
Run Code Online (Sandbox Code Playgroud)

我现在怎样才能转换a为浮动?有任何想法吗?

aba*_*ert 7

struct.unpack 总是返回一个元组,因为你可以解压缩多个值,而不只是一个.

元组是一个序列,就像列表或任何其他类型的序列.所以,你可以索引它:

>>> a = struct.unpack('f', 'helo')
>>> b = a[0]
>>> b
7.316105495173273e+28
Run Code Online (Sandbox Code Playgroud)

...或使用作业拆包:

>>> b, = a
>>> b
7.316105495173273e+28
Run Code Online (Sandbox Code Playgroud)

......或者循环遍历它:

>>> for b in a:
...     print(b)
7.316105495173273e+28
Run Code Online (Sandbox Code Playgroud)

当然,您可以将其中任何一个组合成一行:

>>> b = struct.unpack('f', 'helo')[0]
>>> b, = struct.unpack('f', 'helo')
>>> c = [b*b for b in struct.unpack('f', 'helo')]
Run Code Online (Sandbox Code Playgroud)

如果这对您来说不明显,您应该阅读本教程中的列表,更多列表以及元组和序列.