Dalam ilmu komputer, pengurutan adalah mengatur elemen dalam urutan yang teratur. Selama bertahun-tahun, beberapa algoritma dikembangkan untuk melakukan pengurutan pada data, termasuk pengurutan gabungan, pengurutan cepat, pengurutan pilihan, atau pengurutan gelembung. [Arti lain dari penyortiran adalah mengkategorikan; itu mengelompokkan elemen dengan sifat serupa. ]
Kebalikan dari menyortir, menata ulang urutan elemen dalam urutan acak atau tidak berarti, disebut pengocokan
Data dapat diurutkan berdasarkan abjad atau numerik. Kunci pengurutan menentukan kriteria yang digunakan untuk melakukan pengurutan. Dimungkinkan untuk mengurutkan objek dengan beberapa kunci. Misalnya, saat menyortir pengguna, nama pengguna dapat digunakan sebagai kunci sortir utama, dan pekerjaan mereka sebagai kunci sortir sekunder.
Urutan penyortiran
Urutan standar disebut urutan menaik. a sampai z, 0 sampai 9. Urutan terbalik disebut urutan menurun. z ke a, 9 ke 0. Untuk tanggal dan waktu, menaik berarti nilai yang lebih awal mendahului nilai yang lebih baru e. g. 1/1/2020 akan disortir sebelum 1/1/2021
Pengurutan yang stabil adalah urutan awal dari elemen yang sama dipertahankan. Beberapa algoritma pengurutan secara alami stabil, beberapa tidak stabil. Misalnya, jenis gabungan dan jenis gelembung adalah algoritme penyortiran yang stabil. Di sisi lain, pengurutan heap dan pengurutan cepat adalah contoh dari algoritma pengurutan yang tidak stabil
Pertimbangkan nilai-nilai berikut.
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]_6. Penyortiran yang stabil menghasilkan yang berikut ini.
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]_7. Urutan nilai 3 dan 5 disimpan. Penyortiran yang tidak stabil dapat menghasilkan yang berikut ini.
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]_8
Python menggunakan algoritma timsort. Ini adalah algoritma penyortiran stabil hibrida, yang berasal dari jenis gabungan dan jenis penyisipan. Itu diimplementasikan oleh Tim Peters pada tahun 2002 untuk digunakan dalam bahasa pemrograman Python
Fungsi pengurutan Python
Python memiliki dua fungsi dasar untuk menyortir daftar.
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]9 dan
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']0.
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]9 mengurutkan daftar pada tempatnya, sedangkan
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']0 mengembalikan daftar terurut baru dari item di iterable. Kedua fungsi memiliki opsi yang sama.
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']3 dan
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']4.
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']3 mengambil fungsi yang akan digunakan pada setiap nilai dalam daftar yang diurutkan untuk menentukan urutan yang dihasilkan. Opsi
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']4 dapat membalikkan urutan perbandingan
Kedua fungsi menghasilkan penyortiran yang stabil
Fungsi
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]9 dari wadah daftar mengubah daftar asli saat melakukan penyortiran
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] vals = [2, 1, 0, 3, 4, 6, 5, 7] words.sort[] print[words] vals.sort[] print[vals]
Dalam contoh, kami mengurutkan daftar string dan bilangan bulat. Daftar asli diubah
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]
Contoh yang diurutkan dengan python
Fungsi
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']0 tidak mengubah daftar asli;
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]
Contoh membuat daftar kata baru yang diurutkan dari daftar asli, yang masih utuh
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']
Urutan naik/turun adalah
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']9 dengan opsi
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']4Iklan
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]
Contoh mengurutkan daftar kata dalam urutan naik dan turun
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']_
Daftar tanggal sortir python
Pada contoh berikutnya, kami mengurutkan daftar tanggal
#!/usr/bin/python from datetime import datetime values = ['8-Nov-19', '21-Jun-16', '1-Nov-18', '7-Apr-19'] values.sort[key=lambda d: datetime.strptime[d, "%d-%b-%y"]] print[values]
Fungsi anonim menggunakan fungsi
#!/usr/bin/python from datetime import datetime values = ['8-Nov-19', '21-Jun-16', '1-Nov-18', '7-Apr-19'] values.sort[key=lambda d: datetime.strptime[d, "%d-%b-%y"]] print[values]_1, yang membuat objek datetime dari string yang diberikan. Secara efektif, fungsi
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]_9 mengurutkan objek datetime
Jika Anda tidak terbiasa dengan kata kunci lambda, pelajari lebih lanjut tentang fungsi anonim di tutorial Python lambda
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']
Daftar urutkan Python berdasarkan indeks elemen
Daftar Python dapat memiliki iterable bersarang. Dalam kasus seperti itu, kita dapat memilih elemen mana yang harus diurutkan
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]
Contoh mengurutkan tupel bersarang awalnya dengan elemen pertama mereka, lalu dengan yang kedua
vals.sort[key=lambda e: e[1]]
Dengan menyediakan fungsi anonim yang mengembalikan elemen kedua tupel, kami mengurutkan tupel berdasarkan nilai keduanya
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]0
Katakanlah kita memiliki daftar bersarang yang semuanya memiliki peringkat yang berbeda. Peringkat terakhir adalah jumlah dari semua nilai
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]1
Secara default, fungsi pengurutan mengurutkan berdasarkan nilai pertama dari daftar bersarang. Untuk mencapai tujuan kami, kami meneruskan fungsi
#!/usr/bin/python from datetime import datetime values = ['8-Nov-19', '21-Jun-16', '1-Nov-18', '7-Apr-19'] values.sort[key=lambda d: datetime.strptime[d, "%d-%b-%y"]] print[values]3 bawaan ke opsi
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']3
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]2
Contoh menunjukkan pengurutan default dan kustom
Untuk penyortiran sadar lokal, kita dapat menggunakan
#!/usr/bin/python from datetime import datetime values = ['8-Nov-19', '21-Jun-16', '1-Nov-18', '7-Apr-19'] values.sort[key=lambda d: datetime.strptime[d, "%d-%b-%y"]] print[values]5 untuk fungsi kunci
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]3
Contohnya mengurutkan kata-kata Slovakia
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]4
Catatan. urutan yang dihasilkan dari kata-kata Slovakia tidak sepenuhnya benar. Huruf ď mengikuti d. Itu tergantung pada seberapa baik bahasa didukung
Saat menyortir kamus, kita dapat memilih properti yang digunakan untuk menyortir
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]5
Kami memiliki daftar pengguna. Setiap pengguna diwakili oleh kamus
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]6
Dalam fungsi anonim, kami memilih properti
#!/usr/bin/python from datetime import datetime values = ['8-Nov-19', '21-Jun-16', '1-Nov-18', '7-Apr-19'] values.sort[key=lambda d: datetime.strptime[d, "%d-%b-%y"]] print[values]6
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]7
Pengguna diurutkan berdasarkan tanggal lahir mereka dalam urutan menurun
Daftar peringkat sortir python
Ada berbagai sistem penilaian di seluruh dunia. Contoh kami berisi nilai seperti A+ atau C- dan ini tidak dapat diurutkan secara leksikografis. Kami menggunakan kamus di mana setiap nilai memiliki nilai yang diberikan
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]8
Kami memiliki daftar siswa. Setiap siswa memiliki nama dan nilai dalam tuple bersarang
$ ./inplace_sort.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] [0, 1, 2, 3, 4, 5, 6, 7]_9
Kami membangun kamus nilai. Setiap tingkatan memiliki nilainya. Nilai akan diurutkan berdasarkan nilai kamusnya
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]0
Fungsi kunci hanya mengembalikan nilai nilai
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]1
Solusi ini menggunakan fungsi anonim
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]2
Daftar urutkan python berdasarkan panjang string
Terkadang, kita perlu mengurutkan string berdasarkan panjangnya
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]_3
Dalam contoh ini, kami tidak menggunakan fungsi anonim
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]4
Fungsi
#!/usr/bin/python from datetime import datetime values = ['8-Nov-19', '21-Jun-16', '1-Nov-18', '7-Apr-19'] values.sort[key=lambda d: datetime.strptime[d, "%d-%b-%y"]] print[values]_7 mengembalikan panjang setiap elemen
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]5
Kata-kata diurutkan berdasarkan panjangnya dalam urutan menurun
Python mengurutkan daftar berdasarkan kasus
Secara default, string dengan huruf besar pertama diurutkan sebelum string lainnya. Kita juga dapat mengurutkan string terlepas dari kasusnya
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]6
Dengan menyediakan fungsi
#!/usr/bin/python from datetime import datetime values = ['8-Nov-19', '21-Jun-16', '1-Nov-18', '7-Apr-19'] values.sort[key=lambda d: datetime.strptime[d, "%d-%b-%y"]] print[values]_8 ke atribut kunci, kami melakukan penyortiran yang tidak sensitif huruf
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]7
Dalam contoh berikut, kami mengurutkan nama berdasarkan nama belakang
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]8
Kami memiliki daftar nama. Setiap nama terdiri dari nama depan dan nama belakang. Selain itu, ada beberapa pengguna dengan nama belakang yang sama. Dalam kasus seperti itu, kami ingin mereka diurutkan berdasarkan nama depan mereka
#!/usr/bin/python words = ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] sorted_words = sorted[words] print['Original:', words] print['Sorted:', sorted_words]_9
Pertama, kami mengurutkan nama berdasarkan nama depannya. Kemudian kami mengurutkan nama berdasarkan nama belakangnya. Untuk melakukannya, kami membagi setiap string dan memilih string terakhir [memiliki indeks -1. ] Karena algoritme pengurutan Python stabil, pengurutan pertama diingat dan kami mendapatkan hasil yang diharapkan
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_0
Nama-nama tersebut diurutkan berdasarkan nama belakangnya. Pengguna Doe diurutkan dengan benar berdasarkan nama depan mereka
Daftar sortir python dari namedtuples
Pada contoh berikutnya, kami mengurutkan namedtuples
Iklan$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_1
Namedtuple
#!/usr/bin/python from datetime import datetime values = ['8-Nov-19', '21-Jun-16', '1-Nov-18', '7-Apr-19'] values.sort[key=lambda d: datetime.strptime[d, "%d-%b-%y"]] print[values]_9 memiliki tiga atribut.
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']0,
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']1, dan
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']2. Contoh mengurutkan namedtuples berdasarkan namanya
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_2
Fungsi anonim mengembalikan properti name dari namedtuple
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_3
Daftar sortir python dengan beberapa kriteria sortir
Contoh berikut mengurutkan daftar siswa dengan dua kriteria penyortiran
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_4
Pertama, siswa diurutkan berdasarkan nilai dalam urutan menaik, kemudian diurutkan berdasarkan usia dalam urutan menurun
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_5
Metode
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']_3 menerapkan semua spesifikasi penyortiran pada daftar
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_6
Kami memiliki objek khusus, sebuah namedtuple, yang memiliki cara khusus untuk mengurutkannya
Catatan. Menurut dokumentasi Python,
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]_9 dan
$ ./asc_desc.py ['arc', 'cloud', 'forest', 'poor', 'rock', 'sky', 'tool', 'wood'] ['wood', 'tool', 'sky', 'rock', 'poor', 'forest', 'cloud', 'arc']0 hanya menggunakan metode ajaib
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']6 saat melakukan penyortiran. Jadi kita hanya perlu menerapkan metode ini. Namun, PEP8 merekomendasikan untuk menerapkan semua enam operasi [
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']7 ,
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']8 ,
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']6 ,
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]0 ,
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]1,
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]2] untuk keselamatan dan kelengkapan kode
Dekorator
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]_3 dari modul
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]4 membantu mengurangi boilerplate.
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]_3 membutuhkan
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']7 dan salah satu metode yang tersisa untuk diterapkan
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_7
Dalam contoh, kami mengurutkan kantong koin. Ada tiga jenis koin. emas, perak, dan perunggu. Satu koin emas sama dengan dua koin perak dan enam koin perunggu. [Oleh karena itu, satu koin perak sama dengan tiga koin perunggu. ]
Iklan$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_8
Objek kustom kami adalah namedtuple, yang memiliki satu atribut.
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]_7
$ ./sorted_fun.py Original: ['forest', 'wood', 'brisk', 'tree', 'sky', 'cloud', 'rock', 'falcon'] Sorted: ['brisk', 'cloud', 'falcon', 'forest', 'rock', 'sky', 'tree', 'wood']_9
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]_8 memiliki daftar internal
#!/usr/bin/python vals = [[4, 0], [0, -2], [3, 5], [1, 1], [-1, 3]] vals.sort[] print[vals] vals.sort[key=lambda e: e[1]] print[vals]9 untuk menyimpan koinnya. Di kelas, kami memiliki dua metode perbandingan.
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']6 dan
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']7. Dekorator
vals.sort[key=lambda e: e[1]]_2 menyediakan sisanya
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]0
Metode
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']_6 digunakan oleh fungsi penyortiran Python untuk membandingkan dua objek. Kita harus menghitung nilai semua koin dalam dua kantong dan membandingkannya
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]_1
vals.sort[key=lambda e: e[1]]_4 memberikan representasi objek ________25______8 yang dapat dibaca manusia
#!/usr/bin/python words = ['forest', 'wood', 'tool', 'arc', 'sky', 'poor', 'cloud', 'rock'] words.sort[] print[words] words.sort[reverse=True] print[words]_2
Metode
vals.sort[key=lambda e: e[1]]_6 menghitung nilai kedua kantong. Ini mengembalikan kedua nilai ke
$. /sort_date.py ['21-Jun-16', '1-Nov-18', '7-Apr-19', '8-Nov-19']_6 untuk perbandingan