【发布时间】:2012-07-23 13:01:47
【问题描述】:
如何在 Python 2.7 中将浮点数转换为 long?
我在 Python 2.3 中也这样做:
from array import*
data = array('L',[12.34])
print data
打印出来的:
array('L',[12L])
如何在 Python 2.7 中做同样的事情?
【问题讨论】:
标签: python arrays casting python-2.7
如何在 Python 2.7 中将浮点数转换为 long?
我在 Python 2.3 中也这样做:
from array import*
data = array('L',[12.34])
print data
打印出来的:
array('L',[12L])
如何在 Python 2.7 中做同样的事情?
【问题讨论】:
标签: python arrays casting python-2.7
可能是这样的?
>>> long(12.34)
12L
【讨论】:
array 模块的用途是创建内存高效的同构类型数组。我有一种感觉,我错过了关于您的问题的一些内容。
如今,numpy 数组比 array 模块中的数组更常见,但是,您的数组可以构造为:
>>> from array import *
>>> array('L',map(long,[12.34]))
array('L', [12L])
使用 numpy,可以这样做:
>>> import numpy as np
>>> np.array([12.34],dtype=long)
但是,这实际上并没有创建 python longs,它实际上创建了一个 np.int64 整数数组(8 字节整数 -- 不是像 python long 那样的任意精度)。
【讨论】:
lst = [1.1,2.2]
data = map(long,lst)
【讨论】: