Ich habe diese Liste von Objekten, die einen x-und y-Parameter (und einige andere Sachen) haben.Python: Max-Wert von y aus einer Liste von Objekten
path.nodes = (
<GSNode x=535.0 y=0.0 GSLINE GSSHARP>,
<GSNode x=634.0 y=0.0 GSLINE GSSHARP>,
<GSNode x=377.0 y=706.0 GSLINE GSSHARP>,
<GSNode x=279.0 y=706.0 GSLINE GSSHARP>,
<GSNode x=10.0 y=0.0 GSLINE GSSHARP>,
<GSNode x=110.0 y=0.0 GSLINE GSSHARP>,
<GSNode x=189.0 y=216.0 GSLINE GSSHARP>,
<GSNode x=458.0 y=216.0 GSLINE GSSHARP>
)
Ich brauche die maximale y dieser Liste. Obwohl, habe ich versucht, dies:
print max(path.nodes, key=y)
Und ich bekomme diese Fehlermeldung:
NameError: name 'y' is not defined
Ich bin irgendwie neu zu Python und die doc gibt meine keine Ahnung. Ich glaube, ich tue falsch mit dem Schlüsselwort, denn wenn wie dies durch die Knoten durchlaufen:
for node in path.nodes:
print node.y
Ich werde die Werte von y erhalten. Kann mir jemand eine Erklärung geben?
Wow! Danke Jungs! Das war schnell und gibt mir die Hinweise, die ich brauchte! – PDXIII
@Wtower Vielen Dank für die Bearbeitung. Es ist jetzt viel besser lesbar! – PDXIII