Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai dengan Satu Kunci dalam Susunan Terbalik dan Kes Lain-Tidak Sensitif dalam Python?
Mengisih Senarai dengan Satu Kunci dalam Susunan Terbalik dan Kes Lain Secara Tidak Sensitif
Python menyediakan pelbagai kaedah untuk mengisih senarai, termasuk menyusun mengikut berbilang kunci. Walau bagaimanapun, fungsi pengisihan standard mungkin tidak selalu memberikan fleksibiliti yang diingini.
Pertimbangkan senarai yang mengandungi tupel dengan berbilang elemen, seperti [(ele1A, ele2A), (ele1B, ele2B), (ele1C, ele2C)] . Untuk mengisih senarai ini berdasarkan dua kekunci, satu dalam tertib menaik dan satu lagi dalam tertib menurun, sambil memastikan ketidakpekaan huruf besar dalam satu kekunci, anda perlu menggunakan pendekatan pengisihan yang disesuaikan sedikit.
Fungsi isih() Python membolehkan anda menentukan kunci pengisihan tersuai melalui fungsi lambda. Dengan menggunakan ciri ini, anda boleh mengisih senarai seperti berikut:
<code class="python"># Sort by the first key in ascending order and the second key in descending order sortedList = sorted(myList, key = lambda y: (y[0].lower(), -y[1])) # Or, sort by the first key in descending order and the second key in ascending order sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1])) # Or, sort by both keys in descending order sortedList = sorted(myList, key = lambda y: (-y[0].lower(), -y[1]))</code>
Dengan menafikan nilai kekunci kedua (-y[1]) dalam fungsi lambda, anda mengisihnya dengan berkesan dalam susunan terbalik. Selain itu, anda menggunakan lower() pada kekunci pertama untuk memastikan ketidakpekaan huruf besar-besaran semasa melakukan pengisihan.
Pendekatan ini membolehkan anda mengisih senarai anda secara fleksibel berdasarkan kriteria yang kompleks, membolehkan anda mengendalikan keperluan pengisihan tertentu dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai dengan Satu Kunci dalam Susunan Terbalik dan Kes Lain-Tidak Sensitif dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!