Bagaimana untuk Isih Senarai Tuple dengan Satu Kunci dalam Susunan Terbalik?

Susan Sarandon
Lepaskan: 2024-10-31 16:38:02
asal
737 orang telah melayarinya

How to Sort a List of Tuples with One Key in Reverse Order?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Output:

[('Ele1C', 'Ele2C'), ('Ele1B', 'Ele2B'), ('Ele1A', 'Ele2A')]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan