Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Mengisih Senarai/Tuple Senarai/Tuple Berdasarkan Indeks Tertentu?
Isih Senarai/Tuple Senarai/Tuple Berdasarkan Elemen pada Indeks Tertentu
Struktur data seperti senarai dan tupel selalunya mengandungi elemen yang terdiri subsenarai atau subtuple. Jika anda menghadapi tugas mengisih struktur sedemikian berdasarkan elemen dalam setiap subset, teknik berikut menyediakan penyelesaian yang berkesan.
Menggunakan Tuple atau Senarai
Kedua-dua tupel dan senarai adalah pilihan yang sah untuk menyimpan data anda. Tuple tidak boleh diubah, bermakna kandungannya tidak boleh diubah suai selepas penciptaan. Senarai, sebaliknya, boleh berubah dan membenarkan perubahan pada elemennya. Untuk tujuan pengisihan, pilihan antara mereka bergantung pada senario khusus anda.
Isih mengikut Elemen Kedua
Untuk mengisih senarai/tuple senarai/tuple berdasarkan yang kedua elemen dalam setiap subset, anda boleh menggunakan fungsi sorted() terbina dalam dalam Python. Fungsi ini mengambil hujah utama pilihan yang menentukan kriteria untuk pengisihan.
Menggunakan sorted() dengan Fungsi Lambda
Pendekatan elegan ialah menggunakan fungsi lambda sebagai hujah utama. Sebagai contoh, untuk mengisih mengikut elemen kedua dalam senarai senarai, anda boleh melakukan perkara berikut:
sorted_by_second = sorted(data, key=lambda tup: tup[1])
Isih di Tempat
Jika anda ingin mengisih senarai/tuple asal di tempat tanpa membuat senarai diisih baharu, anda boleh menggunakan kaedah sort() sebaliknya. Kaedah ini juga menerima hujah utama:
data.sort(key=lambda tup: tup[1]) # sorts in place
Menyesuaikan Susunan Isih
Secara lalai, pengisihan berlaku dalam tertib menaik. Untuk mengisih dalam tertib menurun, nyatakan pilihan terbalik:
sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)
Isih Di Tempat dengan Susunan Songsang
Untuk mengisih senarai/tuple asal di tempat dalam menurun pesan, gunakan:
data.sort(key=lambda tup: tup[1], reverse=True) # sorts in place
Atas ialah kandungan terperinci Bagaimana Mengisih Senarai/Tuple Senarai/Tuple Berdasarkan Indeks Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!