2011-11-30 11 views
10
elif(listb[0] == "-test"): 
    run_all.set("testview") 
    listb.pop[0] 

ERROR: Exception in Tkinter callback Traceback (most recent call last): File "/tools/python/2.7.2/lib/python2.7/lib-tk/Tkinter.py", line 1410, in call return self.func(*args) File "./edit.py", line 581, in populate listb.pop[0] TypeError: 'builtin_function_or_method' object is not subscriptableTypeError: obiekt 'builtin_function_or_method' nie jest subscriptable

Linia 581 jest reprezentowany przez ostatniego sprawozdania pop w powyższym kodzie. run_all to StringVar.

Dlaczego pojawia się ten błąd i jak można go rozwiązać?

Odpowiedz

14

myślę chcesz

listb.pop()[0] 

Wyrażenie listb.pop jest poprawnym wyrażeniem python co skutkuje odniesieniu do sposobu pop, ale w rzeczywistości nie wywołanie tej metody. Aby wywołać metodę, należy dodać nawiasy otwarte i zamknięte.

+0

Dzięki. Zadziałało. – Ani

4

Próbujesz uzyskać dostęp do popu, tak jakby była to lista lub tupple, ale pop nie jest. To jest metoda.

3

zamiast piśmie listb.pop[0] zapisu

listb.pop()[0] 
     ^
     | 
Powiązane problemy