2017-07-08 5 views
0

Ich benutze PyCharm mit Python 2.7Python-Anweisung: (k, v) für k, v

Für ein Wörterbuch param, ich versuche, die beiden folgenden Anweisungen zu verwenden:

*print "%s=%s" %(k,v) for k,v in param.items() 
    print ["%s=%s" %(k,v) for k,v in param.items()]* 

Die erste Zeile hat ein Syntaxfehler, weil das k, v nicht aufgelöst werden kann, aber die zweite Zeile normal ausgeführt werden könnte. Wie soll ich das verstehen und wie kann die IDE k, v für die zweite Zeile finden?

Ich weiß, die zweite Zeile gehört zu Listenverständnis, aber es macht mich verwirrt, weil Teile einer gültigen Aussage ungültig ist, so dass diese Art von Aussage kann nur innerhalb einer Liste verwendet werden?

Antwort

0

Die erste Zeile weist einen Syntaxfehler auf, da die Syntax ungültig ist. Die zweite Zeile ist eine list comprehension.

+0

Ich weiß, es ist Listenverständnis, aber es ist ziemlich seltsam. Teile einer gültigen Anweisung sind ungültig – yunhaoooo

+1

Natürlich ist es. Es ist nicht gültig, außer du hast die ganze Sache. –

+0

ok, danke, ich nehme es – yunhaoooo

Verwandte Themen