【问题标题】:Type casting in Python 2.7Python 2.7 中的类型转换
【发布时间】: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


    【解决方案1】:

    可能是这样的?

    >>> long(12.34)
    12L
    

    【讨论】:

    • array 模块的用途是创建内存高效的同构类型数组。我有一种感觉,我错过了关于您的问题的一些内容。
    【解决方案2】:

    如今,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 那样的任意精度)。

    【讨论】:

      【解决方案3】:
      lst = [1.1,2.2]
      data = map(long,lst)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-23
        • 2019-04-08
        • 2014-03-20
        相关资源
        最近更新 更多