Question

elif( listb[0] == "-test"):
    run_all.set("testview")
    listb.pop[0]

ERREUR : Exception dans Tkinter rappel retraçage (le plus récent appel dernière): Fichier "/Tools/python/2.7.2/lib/python2.7/lib-tk/Tkinter.py", ligne 1410, Appel retour self.func (* args) Fichier "./edit.py", ligne 581, en Populate listb.pop [0] TypeError: 'builtin_function_or_method' objet est pas subscriptable

La ligne # 581 est représenté par la dernière déclaration de la pop dans le code ci-dessus. run_all est un LaChaine.

Pourquoi ai-je cette erreur et comment peut-il être résolu?

Était-ce utile?

La solution

Je pense que vous voulez

listb.pop()[0]

L'expression listb.pop est une expression de python valide qui se traduit par une référence à la méthode de pop, mais ne remet pas en réalité cette méthode. Vous devez ajouter les parenthèses ouvertes et à proximité d'appeler la méthode.

Autres conseils

Vous essayez de pop comme si l'accès était une liste ou un tuple, mais merde est pas. Il est une méthode.

au lieu d'écrire écriture listb.pop[0]

listb.pop()[0]
         ^
         |

On dirait que vous avez tapé entre parenthèses au lieu de parenthèses par erreur.

Cette erreur se produit lorsque vous ne l'utilisez entre parenthèses avec le fonctionnement de pop. Ecrire le code de cette manière.

listb.pop(0)

Ceci est une expression de python valide.

Pour votre information, ce n'est pas une réponse à la poste. Mais il peut aider les futurs utilisateurs qui peuvent obtenir l'erreur avec le message:

TypeError: 'builtin_function_or_method' objet n'est pas subscriptable

Dans mon cas, il a été produit en raison de la mauvaise indentation.

Juste indenter la ligne de code a résolu la question.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top