Beberapa hari yang lalu dalam kumpulan pertukaran berlian Python, seorang peminat bernama [emerson] bertanyakan soalan tentang pengisihan Python saya akan berkongsi dengan anda dan belajar bersama.
Sebenarnya, [Cikgu Yu Liang], [Eternity in Budapest] dan lain-lain sudah banyak berbual di sini, tetapi ia masih agak mengelirukan bagi rakan-rakan yang tidak mempunyai asas yang baik. Walau bagaimanapun, fungsi terbina dalam sorted() masih digunakan agak banyak dalam aplikasi praktikal Saya akan bercakap mengenainya di sini secara berasingan.
Fungsi terbina dalam sorted() boleh digunakan untuk pengisihan Penggunaan asas adalah sangat mudah. seperti yang ditunjukkan di bawah.
lst = [3, 28, 18, 29, 2, 5, 88]hasil = disusun(terutama)cetak(hasil)
Atur cara berjalan Selepas itu, anda boleh melihat bahawa senarai disusun dalam tertib menaik dari kecil ke besar.
Jika anda mahu ia diisih dalam susunan terbalik, ia juga sangat mudah, cuma tambahkan parameter terbalik.
terdahulu = [3, 28, 18, 29, 2, 5, 88]hasil = diisih(lst, songsang=Benar)cetak(hasil)
Senarai (iterator) yang kami temui di atas adalah jenis angka yang sangat mudah Jika kami menghadapi pengulangan yang lebih kompleks dan perlu mengisihnya, seperti contoh berikut , seperti berikut:
lst = [ {"id": 1, "name": "Luban", "age": 18}, {"id": 2, "name": "Master Luban", "age": 26}, {"id": 3, "name": "Master Lu", "age": 23}, {"id": 4, "name": "Di Renjie", "age": 48 }]# Isih wira mengikut umur, dalam tertib menaik
Jika anda ingin mengisih lelaran atau objek boleh lelar seperti ini, anda perlu menggunakan kaedah tersuai untuk mengisihnya. Ini juga boleh dilakukan menggunakan fungsi terbina dalam sorted() Penggunaan sorted() adalah seperti berikut.
Ia mempunyai tiga parameter secara keseluruhannya Parameter pertama ialah objek boleh lelar, seperti senarai, kamus, set, dsb (fungsi sort), inside sorted(), setiap elemen dalam objek lelaran akan dihantar ke parameter fungsi ini, dan diisih mengikut hasil operasi fungsi, parameter ketiga adalah terbalik, jika ia Benar, ia bermakna tertib terbalik, jika ia Salah, maka Menunjukkan urutan positif.
Kemudian untuk soalan ini, anda boleh menggunakan kod berikut untuk mengisih:
sorted(lst, key=lambda x: x.get('age'))
Kuncinya ialah fungsi tanpa nama yang ditentukan sendiri yang digunakan untuk menentukan peraturan pengisihan Di sini, ia diambil daripada umur kamus, dan kemudian susun mengikut saiz umur, jadi hasilnya adalah seperti yang ditunjukkan dalam rajah di bawah.
Apakah yang perlu anda lakukan jika anda ingin mengeluarkan wira yang berumur lebih daripada 28 tahun?
Ini dilanjutkan di sini, ia juga mungkin Gunakan fungsi terbina dalam untuk melakukannya, kecuali fungsi terbina dalam yang digunakan di sini ialah penapis(). >Bab Tambahan
Kebelakangan ini, ramai kawan-kawan yang bertanyakan tentang ilmu menyalin Python Semalam, saya kumpulkan secebis maklumat dan dikongsikan dengan semua orang yang sering ditanya semasa soalan temuduga, jadi marilah sama-sama memberi semangat .
3. Ringkasan
Helo semua, saya pemain lanjutan Python. Artikel ini terutamanya berkongsi masalah pengisihan fungsi terbina dalam Python sorted(), dan menyediakan analisis dan demonstrasi kod khusus untuk membantu peminat menyelesaikan masalah dengan lancar.
Atas ialah kandungan terperinci Inventori penggunaan lanjutan fungsi terbina dalam Python sorted(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!