在python中如何将元组转换为浮点?
假设我使用字节数组创建了这样一个元组:在python中如何将元组转换为浮点?,python,floating-point,tuples,Python,Floating Point,Tuples,假设我使用字节数组创建了这样一个元组: import struct a = struct.unpack('f', 'helo') 现在如何将a转换为浮点?有什么想法吗?struct.unpack总是返回一个元组,因为您可以解压多个值,而不仅仅是一个值 元组是一个序列,就像列表或任何其他类型的序列一样。因此,您可以为其编制索引: >>> a = struct.unpack('f', 'helo') >>> b = a[0] >>> b 7.3
import struct
a = struct.unpack('f', 'helo')
现在如何将
a
转换为浮点?有什么想法吗?struct.unpack
总是返回一个元组,因为您可以解压多个值,而不仅仅是一个值
元组是一个序列,就像列表或任何其他类型的序列一样。因此,您可以为其编制索引:
>>> a = struct.unpack('f', 'helo')
>>> b = a[0]
>>> b
7.316105495173273e+28
…或使用分配解包:
>>> b, = a
>>> b
7.316105495173273e+28
…或在其上循环:
>>> for b in a:
... print(b)
7.316105495173273e+28
当然,您可以将其中任何一项组合成一行:
>>> b = struct.unpack('f', 'helo')[0]
>>> b, = struct.unpack('f', 'helo')
>>> c = [b*b for b in struct.unpack('f', 'helo')]
如果您不清楚这一点,您应该阅读本教程。您可能可以这样做:
a=a[0]
a
是一个具有浮点值的1元组。。。获取值…它已经是一个浮点;这可以通过在struct.unpack
中使用'f'
格式字符来保证。所以调用float
没有任何用处。是的,但是a=a[0]
也可以。您不妨在编写时编写a=float(a[int(0)]
。