Probleme bei der Verwendung von dict comprehensions. NameError: Der globale Name ist nicht definiert

9

Ich versuche ein Diktat mit Schlüssel als name und Wert als entsprechendes User Objekt zu erstellen.

Ich verwende die Python-Shell aus dem Django-Shell-Wrapper python manage.py shell :

%Vor%

Das funktioniert jedoch für mich:

%Vor%

Und ich bekomme die gewünschte Ausgabe, nämlich:

%Vor%

Ich weiß, es gibt andere Wege, dies zu erreichen, aber ich bin neugierig, warum die Verständlichkeit hier nicht funktioniert.

Irgendwelche Tipps?
Fehle ich hier etwas?

    
Dhruv Baldawa 30.10.2012, 08:25
quelle

1 Antwort

2

Ich glaube pythons Problem-Tracer ist die beste Antwort für Sie.

Kurz gesagt: Es wird nicht in der Shell funktionieren. Gleiches gilt für die Funktionsdefinition in der Shell. Die Importe sind dort nicht möglich.

Im Hinblick auf Ihr Problem rate ich:

%Vor%

Es wird eine SQL-Abfrage anstelle von len(names) ausgeführt.

    
Krzysztof Szularz 30.10.2012 08:50
quelle