向数组添加值时出错

时间:2010-08-17 00:34:46

标签: python arrays debugging append

打开('file00.txt')为f00:             对于f00中的行:                 法尔= ar​​ray.append(浮法(线))                 打印“farr =”,farr

我得到:

farr=array.append(float(line))

AttributeError: 'module' object has no attribute 'append'

有谁知道我为什么会这样?我必须导入一些东西吗?我完全错了吗?

感谢

2 个答案:

答案 0 :(得分:1)

要附加到数组,您必须创建数组(作为具有相应类型代码的array.array类型的实例),为其命名,并在该名称上调用append - 是,在实例上,模块上肯定是不是

所以,例如:

>>> import array
>>> x = array.array('d')  # array of double-precision floats
>>> x.append(1.23)
>>> x
array('d', [1.23])
>>> 

等等。当然,您也可以使用list而不是array.array('d')(如果您想要追加不同类型或非基本类型的值,则很珍贵),但原则是相同的:您制作了一个list实例,然后在实例上调用append(通过创建时提供的名称),绝对在任何模块上!

答案 1 :(得分:0)

我假设您想要做这样的事情:

values = []
with open('file00.txt') as f00:
    for line in f00:
        value = float(line)
        values.append(value)
        print "farr= ", value

这样values列表将包含所有值。