Warum ist das Sortierungsergebnis von Python -Listen so seltsam? [Duplikat]Python

Python-Programme
Anonymous
 Warum ist das Sortierungsergebnis von Python -Listen so seltsam? [Duplikat]

Post by Anonymous »

Der Code ist wie folgt. Verwenden Sie die Taste Funktionen, um die Anzahl der in der Liste angezeigten Element zu zählen:

Code: Select all

input_list = list('aaddccdc')
input_list.sort(key=lambda i: (-input_list.count(i), ord(i)))
print(input_list)
< /code>
Wir erhalten das Ergebnis in unerwarteter Reihenfolge < /p>
['a', 'a', 'c', 'c', 'c', 'd', 'd', 'd']
Wenn es so geändert wird, dass wir eine Kopie im Schlüssel verwenden

Code: Select all

input_list = list('aaddccdc')

snapshot = input_list.copy()
input_list.sort(key=lambda i: (-snapshot.count(i), ord(i)))

print(input_list)
< /code>
Wir erhalten die unterschiedliche, erwartete Reihenfolge < /p>
['c', 'c', 'c', 'd', 'd', 'd', 'a', 'a']
Warum ist das so?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post