Python Tableau est en lecture seule, ne peut pas ajouter des valeurs
Je suis nouveau sur le Python. Le code suivant génère une erreur lors de la tentative d'ajout de valeurs dans un tableau. Ce que je fais mal?
import re
from array import array
freq_pattern = re.compile("Frequency of Incident[\(\)A-Za-z\s]*\.*\s*([\.0-9]*)")
col_pattern = re.compile("([-\.0-9]+)\s+([-\.0-9]+)\s+([-\.0-9]+)\s+([-\.0-9]+)\s+([-\.0-9]+)")
e_rcs = array('f')
f = open('example.4.out', 'r')
for line in f:
print line,
result = freq_pattern.search(line)
if result:
freq = float(result.group(1))
cols = col_pattern.search(line)
if cols:
e_rcs.append = float(cols.group(2))
f.close()
Erreur
Traceback (most recent call last):
Fichier "D:\workspace\CATS
Analyseur\cats-post.py", à la ligne 31, danse_rcs.append = float(cols.groupe(2)) AttributeError:
liste des attributs de l'objet 'append' est
les attributs en lecture seule (céder à .ajouter)
OriginalL'auteur Jared Brown | 2009-10-30
Vous devez vous connecter pour publier un commentaire.
Vous affectez à l'option append() fonction que vous voulez, au lieu de l'appeler .append(float(cols.groupe(2))).
OriginalL'auteur Brent Newey
Voulez-vous ajouter à la matrice?
Faire:
e_rcs.append = float(cols.group(2))
remplace leappend
méthode de la matricee-rcs
avec une valeur à virgule flottante. Rarement quelque chose que vous voulez faire.Je n flotteurs pour stocker. Traditionnellement, je voudrais utiliser des tableaux dans d'autres langues. C'est ce que je suis en train d'utiliser en Python, avec peu de succès. Ce type de données dois-je utiliser en Python?
Brun: numpy les tableaux sont beaux. Certaines personnes disent "array" quand ils sont en utilisant le haut-dans la liste " type de. Je n'ai pas réussi à lire le tableau numpy partie au début.
Vous voudrez probablement une plaine ol' liste. Il est similaire à la vanille des tableaux dans d'autres langues.
Quel est l'avantage à l'aide d'une Liste, dans ce cas, sur un array('f')?
OriginalL'auteur S.Lott
ajouter une méthode. Vous essayez de le remplacer au lieu de l'appeler.
OriginalL'auteur jamessan
Essayez plutôt ceci:
En Python que vous ne utilisez la matrice.tableau lorsque vous avez besoin de contrôler la mise en page binaire de votre espace de stockage, c'est à dire un simple tableau d'octets dans la mémoire RAM.
Si vous allez faire beaucoup de scientifiques de l'analyse de données, alors vous devriez jeter un oeil à la NumPy module qui prend en charge le n-dimensions des tableaux. Pensez à NumPy comme un remplacement pour le FORTRAN faire des mathématiques et de l'analyse des données.
OriginalL'auteur Michael Dillon