Menyortir daftar dengan Python memungkinkan Anda mengatur itemnya dalam urutan naik atau turun.

Alih-alih menulis blok kode yang panjang untuk melakukan itu, Python memiliki metode bawaan yang memungkinkan Anda mengurutkan item dalam daftar atau larik apa pun. Kami akan menjelaskan cara melakukannya di posting ini.

Cara Menyortir Daftar dengan Python

Anda dapat mengurutkan item dalam daftar atau larik menggunakan Python menyortir() metode.

Itu menyortir() metode di Python menerima dua argumen opsional dan sintaksnya terlihat seperti ini:

list.sort (key = function, reverse = True / False)

Secara default, file menyortir() metode mengatur item dari daftar dalam urutan menaik:

myList = ["C", "D", "B", "A", "F"]
myList.sort ()
cetak (myList)
Keluaran: ['A', 'B', 'C', 'D', 'F']

Anda bisa menggunakan balik argumen untuk melihat daftar dalam urutan menurun:

myList = ["C", "D", "B", "A", "F"]
myList.sort (reverse = True)
cetak (myList)
Keluaran: ['F', 'D', 'C', 'B', 'A']

Anda juga dapat menyusun item dalam daftar dengan panjang setiap string.

instagram viewer

Untuk melakukannya, buat fungsi dan teruskan ke menyortir() metode menggunakan opsional kunci argumen:

myList = ["MUO", "Python", "JavaScript", "Sort", "Sortlists"]
def sortLength (item):
return len (item)
myList.sort (reverse = True, key = sortLength)
cetak (myList)
Keluaran: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']

Cara Mengurutkan Daftar Kamus dengan Python

Anda bisa menggunakan menyortir() metode untuk mengurutkan daftar kamus juga.

Mari kita urutkan tugas dalam kamus di bawah ini menurut waktunya:

myArray = [
{"Task": "Wash", "Time": 12.00},
{"Task": "Football", "Time": 24.00},
{"Task": "Sort", "Time": 17.00},
{"Task": "Code", "Time": 15.00}
]
def sortByTime (item):
kembalikan item ["Time"]
myArray.sort (key = sortByTime)
cetak (myArray)

Karena nilai waktu adalah bilangan bulat, blok kode di atas mengatur ulang larik berdasarkan waktu tugas.

Terkait: Bagaimana Array dan Daftar Bekerja dengan Python

Selain mengurutkan array di atas berdasarkan waktu, Anda juga bisa menyusunnya menurut abjad menggunakan tugas, yaitu string.

Untuk mengurutkan berdasarkan string dalam contoh larik, Anda hanya perlu mengubahnya Waktu dalam tanda kurung siku ke Tugas:

myArray = [
{"Task": "Wash", "Time": 12.00},
{"Task": "Football", "Time": 24.00},
{"Task": "Sort", "Time": 17.00},
{"Task": "Code", "Time": 15.00}
]
def sortByTime (item):
mengembalikan item ["Task"]
myArray.sort (key = sortByTime)
cetak (myArray)

Anda juga dapat mengurutkan tugas dalam urutan terbalik dengan mengatur balik benar:

myArray.sort (key = sortByTime, reverse = True)

Anda juga bisa menggunakan fungsi lambda dengan menyortir() untuk kode yang lebih bersih:

myArray.sort (key = lambda getTime: getTime ["Time"])
cetak (myArray)

Cara Mengurutkan Daftar Python Bersarang

Anda dapat mengurutkan daftar tupel bertingkat menurut indeks setiap elemen bertingkat dalam daftar itu.

Misalnya, kode di bawah ini menggunakan item ketiga di setiap tupel untuk mengurutkan daftar dalam urutan menaik:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (a):
mengembalikan [2]
Alist.sort (key = sortByThirdIndex)
cetak (Alist)
Keluaran: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Pada output di atas, item ketiga di setiap tupel meningkat dari nol menjadi dua puluh berturut-turut.

Perhatikan bahwa ini tidak berfungsi dengan set Python karena Anda tidak dapat mengindeksnya. Selain itu, setiap sarang dalam daftar harus dimiliki oleh tipe data yang sama.

Terkait: Apa Itu Set dengan Python dan Cara Membuatnya

Namun, untuk mengatur keluaran dalam urutan menurun:

Alist.sort (key = getIndex, reverse = True)
cetak (Alist)
Keluaran: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Mari kita lihat bagaimana tampilannya dengan file lambda berfungsi juga:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = diurutkan (Alist, key = lambda a: a [2])
cetak (Daftar baru)
Keluaran: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Cara Menyortir Daftar Menggunakan Metode Sorted ()

Atau, Anda dapat menggunakan diurutkan () metode.

Meskipun cara kerjanya mirip dengan menyortir() metode, itu membuat daftar diurutkan baru tanpa mengubah aslinya. Tata letak sintaksnya juga sedikit berbeda.

Sintaks untuk file diurutkan () metode umumnya terlihat seperti ini:

diurutkan (daftar, kunci = fungsi, mundur = Benar / Salah)

Jadi untuk mengurutkan daftar menggunakan diurutkan () metode, Anda perlu membuat variabel baru untuk daftar yang diurutkan:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (a):
mengembalikan [2]
newList = diurutkan (Alist, key = getIndex)
cetak (Daftar baru)
Keluaran: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Itu diurutkan () Metode juga menerima a lambda berfungsi sebagai kuncinya:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = diurutkan (Alist, key = lambda a: a [2])
cetak (Daftar baru)
Keluaran: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Di Mana Anda Dapat Menerapkan Penyortiran Daftar?

Pemahaman yang kuat tentang metode sortir Python diperlukan untuk pemrograman yang efisien. Ini memungkinkan Anda mengontrol bagaimana daftar atau larik muncul, dan Anda selalu dapat menerapkannya dalam proyek kehidupan nyata. Misalnya, mengurutkan daftar Python bisa berguna saat mengatur ulang data dari API atau database, jadi lebih masuk akal bagi pengguna akhir.

Surel
Cara Menambahkan Daftar dengan Python

Bekerja dengan daftar dengan Python? Inilah yang perlu Anda ketahui tentang menggunakan fungsi penambahan Python saat bekerja dengan daftar.

Baca Selanjutnya

Topik-topik yang berkaitan
  • Pemrograman
  • Python
  • Tutorial Coding
Tentang Penulis
Idowu Omisola (66 Artikel Dipublikasikan)

Idowu sangat tertarik dengan teknologi pintar dan produktivitas apa pun. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.

Selebihnya Dari Idowu Omisola

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk mendapatkan tip teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Satu langkah lagi…!

Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan kepada Anda.

.