Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyusun Tuple Python dengan Cekap mengikut Elemen Kedua Integernya?

Bagaimana untuk Menyusun Tuple Python dengan Cekap mengikut Elemen Kedua Integernya?

Linda Hamilton
Linda Hamiltonasal
2024-12-05 08:44:17477semak imbas

How to Efficiently Sort Python Tuples by Their Integer Second Element?

Mengisih Python Tuple mengikut Elemen Kedua (Nilai Integer)

Apabila bekerja dengan senarai tupel yang mengandungi kedua-dua rentetan dan elemen integer, mengisihnya dengan cekap berdasarkan nilai integer boleh menjadi penting. Artikel ini membincangkan penyelesaian untuk tugas pengaturcaraan biasa ini.

Untuk mengisih senarai tupel mengikut item kedua mereka, iaitu integer, kita boleh menggunakan fungsi sorted() dalam Python. Fungsi ini membenarkan penyesuaian kriteria pengisihan menggunakan argumen kata kunci utama.

Menggunakan Argumen utama

Argumen utama mengambil fungsi sebagai input, yang menentukan cara tupel harus dibandingkan. Dalam kes ini, kami ingin membandingkannya berdasarkan elemen kedua mereka. Kita boleh mentakrifkan fungsi tersuai menggunakan sintaks lambda seperti berikut:

lambda x: x[1]

Fungsi ini mengambil satu tuple sebagai input dan mengembalikan elemen keduanya.

Isih Senarai Tuple

Sekarang, kita boleh menggunakan hujah utama dalam sorted() untuk menentukan fungsi tersuai ini sebagai pengisihan peraturan:

sorted([('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=lambda x: x[1])

Ini akan mengembalikan senarai baharu yang mengandungi tupel yang diisih dalam tertib menaik mengikut elemen kedua:

[('abc', 121), ('abc', 148), ('abc', 221), ('abc', 231)]

Mengoptimumkan Isih dengan Operator.itemgetter

Untuk prestasi optimum, pertimbangkan untuk menggunakan operator.itemgetter(1) dan bukannya lambda x: x[1]. Operator.itemgetter ialah fungsi terbina dalam yang direka secara eksplisit untuk mengekstrak elemen yang ditentukan daripada struktur data, yang boleh meningkatkan kecekapan.

from operator import itemgetter
sorted([('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=itemgetter(1))

Pendekatan ini mencapai hasil yang sama seperti menggunakan fungsi lambda tetapi mungkin sedikit lebih pantas dalam sesetengah kes.

Atas ialah kandungan terperinci Bagaimana untuk Menyusun Tuple Python dengan Cekap mengikut Elemen Kedua Integernya?. 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