Warum begegnet diese sortierte wichtige Lambda auf einen IndexError?
Posted: 24 Feb 2025, 00:32
Ich dachte, ich habe das Schlüssel für die sortierte -Funktion verstanden, aber für mein Leben kann ich nicht herausfinden, warum er den Tuple -Index stattdessen auf die Zeichenfolge anwendet scheint von zum Tupel? Was ist hier los? Ich leite Python 3.9.
Wenn ich das Schlüssel Argument nicht angreife, funktioniert es gut:
Ich möchte nur nach dem zweiten Element im Tupel sortieren.
Code: Select all
sorted([val[0] for val in [('C', 'C')]], key=lambda tpl: tpl[1])
< /code>
Fehlermeldung: < /p>
In [11]: sorted([val[0] for val in [('C', 'C')]], key=lambda tpl: tpl[1])
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
in
----> 1 sorted([val[0] for val in [('C', 'C')]], key=lambda tpl: tpl[1])
in (tpl)
----> 1 sorted([val[0] for val in [('C', 'C')]], key=lambda tpl: tpl[1])
IndexError: string index out of range
Code: Select all
In [12]: sorted([val[0] for val in [('C', 'C')]])
Out[12]: ['C']