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

时间:2013-12-09 23:47:26

标签: python floating-point tuples

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

import struct
a = struct.unpack('f', 'helo')

我现在如何将a转换为浮点数?有什么想法吗?

2 个答案:

答案 0 :(得分:6)

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')]

如果您不明白这一点,请在教程中阅读ListsMore on ListsTuples and Sequences

答案 1 :(得分:0)

你可能会这样做:

a = a[0]