Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Mengisih Senarai/Tuple Senarai/Tuple Berdasarkan Indeks Tertentu?

Bagaimana Mengisih Senarai/Tuple Senarai/Tuple Berdasarkan Indeks Tertentu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 07:26:12226semak imbas

How to Sort Lists/Tuples of Lists/Tuples Based on a Specific Index?

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!

Kenyataan:
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