Python: “Liste.append = "liste" des attributs de l'objet ‘append’ est en lecture seule”
Je suis en train de rédiger une réponse à partir d'un serveur Solr vers un fichier CSV. Je suis assez nouveau à python et ont reçu de code à modifier. À l'origine, le code ressemble à ceci ...
for doc in response.results:
status = json.loads(doc['status'])
Le script s'exécute et imprime les informations correctes. Mais c'est seulement à tous les tirages d'un résultat (dernier). Je pense que c'est parce que la boucle constamment écrit sur la varible "statut" jusqu'à ce que son travaillé par le biais de la réponse.
Après un peu de lecture, j'ai décidé de stocker les informations dans une liste. De cette façon, je pouvais imprimer les informations de seprate lignes dans une liste. J'ai créé une liste vide et changé le code ci-dessous -
for doc in response.results:
list.append = json.loads(doc['status'])
J'ai eu cette réponse après avoir essayé d'exécuter le code -
`AttributeError: 'list' object attribute 'append' is read-only`.
Où vais-je tort? Une liste, pas la meilleure approche?
Nommage des listes de "liste" est une mauvaise idée, en tant que "liste" est le type de variables comme
some_nums = []
.Cheers! Je vais le renommer si il n'y a pas de confusion.
OriginalL'auteur Chris Chalmers | 2012-02-20
Vous devez vous connecter pour publier un commentaire.
Vous essayez de modifier le
append
méthode de l'intégré danslist
classe!Il suffit de ne
ou, de manière équivalente:
Vous voulez dire que vous voulez choisir une clé (de "situation", ou "catégories"), et d'extraire la clé de chaque résultat (si vous obtenez une liste de tous les statuts, ou toutes les catégories)?
Exactement! Ainsi, par exemple, sur mon serveur Solr j'ai des données telles que le fabricant, le modèle et la couleur. Si je voulais dire le fabricant et le modèle dans le fichier csv que j'avais de les imprimer et de leurs résultats seraient-dire " de ford, Opel ... etc etc. Donc, aurais-je mieux fait d'utiliser une méthode comme les dictionnaires?
C'est de plus en plus complexes que fonctionne vraiment dans les commentaires en temps pour une autre question, je pense.
Ok, merci pour votre aide.
OriginalL'auteur Useless
Je ne suis pas sûr de ce que vous essayez de faire.
Je suppose que vous n'avez pas créé de
list
variable.list
est un python builtin classe pour les listes, donc si il n'y a pas de variable de masque, vous aurez accès à ce service. Et vous avez essayé de modifier un de ses propterties, qui n'est pas autorisé (c'est pas comme ruby où vous pouvez singe-patch quoi que ce soit).Est-ce que vous souhaitez? :
OriginalL'auteur Karoly Horvath
Essayer
OriginalL'auteur Henry