Mengisih Senarai dengan Berbilang Kekunci, Termasuk Satu dalam Susunan Terbalik
Apabila bekerja dengan senarai tupel, kita mungkin menghadapi keperluan untuk mengisih berdasarkan beberapa kriteria, salah satunya harus dalam susunan terbalik. Artikel ini menangani cabaran ini, menyediakan pendekatan Pythonic untuk mengisih senarai dengan dua kekunci, dengan satu diisih dalam tertib menaik dan satu lagi dalam tertib menurun.
Memahami Masalah
Pertimbangkan senarai tupel seperti myList = [(ele1A, ele2A),(ele1B, ele2B),(ele1C, ele2C)]. Mengisih senarai ini dengan dua kekunci bermakna menyusunnya berdasarkan kedua-dua elemen pertama dan kedua setiap tupel. Kita boleh menggunakan fungsi sorted() untuk mengisih senarai, menghantar fungsi kunci tersuai yang menentukan kriteria pengisihan:
<code class="python">sortedList = sorted(myList, key = lambda y: (y[0].lower(), y[1]))</code>
Kod ini mengisih senarai dalam tertib menaik untuk kedua-dua kekunci. Untuk mengisih kunci pertama dalam tertib menurun, kita boleh menggunakan kod berikut:
<code class="python">sortedList = sorted(myList, key = lambda y: (y[0].lower(), -y[1]))</code>
Walau bagaimanapun, kod ini mengisih kedua-dua kunci dalam tertib menurun. Untuk mengisih hanya kunci pertama dalam tertib menurun dan kunci kedua dalam tertib menaik, kita boleh menggunakan kod berikut:
<code class="python">sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1]))</code>
Kod ini mengisih tupel mengikut kekunci pertama dalam susunan abjad terbalik (menurun) dan dengan kekunci kedua dalam susunan abjad (menaik).
Contoh
Mari kita gunakan kaedah pengisihan ini pada senarai myList yang diberikan:
<code class="python">myList = [('Ele1A', 'Ele2A'), ('Ele1B', 'Ele2B'), ('Ele1C', 'Ele2C')] sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1])) # Print the sorted list print(sortedList)</code>
Output:
[('Ele1C', 'Ele2C'), ('Ele1B', 'Ele2B'), ('Ele1A', 'Ele2A')]
Seperti yang dapat kita lihat, senarai diisih mengikut kekunci pertama dalam susunan abjad terbalik dan dengan kekunci kedua dalam susunan abjad, memenuhi keperluan masalah.
Atas ialah kandungan terperinci Bagaimana untuk Isih Senarai Tuple dengan Satu Kunci dalam Susunan Terbalik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!