Ошибка при добавлении значения в массив - PullRequest
0 голосов
/ 17 августа 2010

с открытым ('file00.txt') как f00: для строки в f00: фарр = array.append (с плавающей точкой (линия)) печать "farr =", farr

я получаю:

farr=array.append(float(line))

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

Кто-нибудь знает, почему я это понимаю? я должен что-то импортировать? я делаю это совершенно неправильно?

спасибо

Ответы [ 2 ]

1 голос
/ 17 августа 2010

Чтобы добавить массив, вы должны создать массив (как экземпляр типа 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 в экземпляре (через имя, которое вы дали при создании), определенно не в любом модуле!

0 голосов
/ 17 августа 2010

Я предполагаю, что вы хотите сделать что-то вроде этого:

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

Таким образом, список values будет содержать все значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...