【问题标题】:Error when adding value to array向数组添加值时出错
【发布时间】:2011-03-30 17:37:31
【问题描述】:

使用 open('file00.txt') 作为 f00: 对于 f00 中的行: farr=array.append(float(line)) 打印 "farr=",farr

我明白了:

farr=array.append(float(line))

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

有人知道我为什么会得到这个吗?我必须进口一些东西吗?我做错了吗?

谢谢

【问题讨论】:

  • 你的数组是在哪里定义的? array 是什么?是列表吗?
  • 如你所见,我是编程和 python 的新手,所以我不完全确定。我只是从这里的其他人那里做例子。我可能错过了一些东西。我是否定义了一个错误的数组?我在这里假设farr=array.append(float(line)) 是你定义一个...

标签: python arrays debugging append


【解决方案1】:

我假设你想做这样的事情:

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

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

【讨论】:

    【解决方案2】:

    要附加到数组,您必须创建数组(作为具有适当类型代码的 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(通过你在创建时给它的名称),绝对不是在任何模块上! p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-18
      • 2013-11-12
      • 2017-03-14
      • 2016-01-08
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 2010-09-17
      相关资源
      最近更新 更多