python dictionnaire erreur AttributeError: 'liste' de l'objet n'a pas d'attribut "item"
J'obtiens une erreur inattendue. Je me rends compte qu'il y a des posts avec des erreurs similaires mais ne pouvait pas comprendre la réponse ou ne peut pas le relier à mon cas (dictionnaire).
Je suis en train de calculer un score de similarité pour chaque ligne d'un fichier d'entrée et à chaque itération (j'.e pour chaque ligne du fichier d'entrée) stocker le top 20 des valeurs de la partition dans un dictionnaire.
Voici mon code:
result={}
//code for computation of score for each line of an input file
if (len(result)<20):
result[str(line)]=score
else:
if(len(result)==20):
result = sorted(result.iteritems(), key=operator.itemgetter(1))
if(result.item()[19].value()<score):
result.item()[19][str(line)]=score
L'erreur est:
File "retrieve.py", line 45, in <module>
if(result.item()[19].value()<score):
AttributeError: 'list' object has no attribute 'item'
- Il n'y a pas de
item
méthode de dictionnaires ou de listes.
Vous devez vous connecter pour publier un commentaire.
result
n'est pas un dictionnaire de plus.Si je ne me trompe pas, votre problème peut être résolu de cette façon (en supposant que
lines
vient de quelque part):Prendre un coup d'oeil à OrderedDict pour la fabrication d'un ordre du dictionnaire.
result
àcollections.OrderedDict
.set
si vous avez besoin des lignes uniques.