Menyortir daftar bersarang dengan python

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']
4

Iklan
#!/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

Bisakah kita mengurutkan daftar bersarang dengan Python?

Akan ada tiga cara berbeda untuk mengurutkan daftar bersarang. Yang pertama menggunakan Bubble Sort, yang kedua menggunakan metode sort[], dan yang ketiga menggunakan metode sortir[] .

Bagaimana Anda mengatur daftar bersarang dalam urutan menaik dengan Python?

Anda dapat mengurutkan daftar dengan Python menggunakan metode sort[] . Metode menerima dua argumen opsional. membalik. yang mengurutkan daftar dalam urutan terbalik [turun] jika Benar atau dalam urutan biasa [naik] jika Salah [yang secara default]

Bagaimana Anda mengurutkan daftar bersarang berdasarkan elemen kedua dengan Python?

Pengguna harus memasukkan daftar yang berisi beberapa subdaftar
Kemudian bubble sort diimplementasikan untuk mengurutkan list berdasarkan elemen kedua di sublist
Jika elemen kedua dari subdaftar pertama lebih besar dari elemen kedua dari subdaftar kedua, maka seluruh subdaftar dialihkan

Bagaimana cara mengurutkan daftar di dalam daftar?

Untuk mengurutkan daftar daftar menggunakan fungsi sortir[], kita cukup meneruskan daftar input ke fungsi sortir sebagai berikut. Di sini, Anda dapat melihat bahwa daftar dalam telah disusun menurut argumen pertama mereka seperti yang dilakukan dalam kasus metode sort[].

Bài mới nhất

Chủ Đề