Cara Menyusun Daftar di Python

How Sort Lists Python



Artikel ini akan merangkumi panduan menyusun senarai di Python. Objek senarai Python adalah kumpulan satu atau lebih item yang dipisahkan dengan koma. Ia adalah objek yang dapat diulang-ulang dan unsur-unsurnya dapat diakses dengan mengulangi senarai menggunakan pernyataan gelung dan ungkapan lain. Anda boleh menyusun senarai Python menggunakan kaedah urutkan dan disusun, kedua-duanya dijelaskan dalam artikel. Semua sampel kod dalam artikel ini diuji dengan Python 3.9.5 di Ubuntu 21.04.

Kaedah Susun

Kaedah pengisihan menyusun senarai di tempat. Dengan kata lain, ia akan mengubah objek senarai yang akan anda susun dan susun semula elemennya. Sekiranya anda tidak memerlukan senarai asal dan tidak keberatan dengan senarai yang mengubah susunan elemennya di tempat, ini adalah kaedah yang paling berkesan di Python untuk menyusun senarai. Pertimbangkan contoh ini:







yang= [2, 8, 6, 4]

yang.mengurut()

mencetak (yang)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:



[2, 4, 6, 8]

Pernyataan pertama dalam sampel kod menentukan senarai. Seterusnya, kaedah sort dipanggil pada senarai. Apabila anda mencetak senarai, anda dapat melihat bahawa urutan senarai asal telah diubah.



Secara lalai, Python menyusun senarai mengikut urutan menaik. Sekiranya anda ingin menyusun senarai dalam urutan menurun, gunakan kaedah terbalik, seperti yang ditunjukkan dalam contoh kod di bawah:





yang= [2, 8, 6, 4]

yang.mengurut()

yang.terbalik()

mencetak (yang)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

[8, 6, 4, 2]

Kaedah sebaliknya juga mengubah senarai Python di tempat tanpa membuat senarai baru.



Sekiranya senarai anda mengandungi elemen rentetan, memanggil kaedah urutkan di atasnya akan mengikut urutannya mengikut abjad di mana simbol dan nombor disusun terlebih dahulu. Lihat contoh kod di bawah:

yang= ['', 'ke', 'Dengan', '4', '#']

yang.mengurut()
mencetak (yang)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

['#', '4', 'ke', '', 'Dengan']

Anda juga boleh menggunakan kaedah terbalik pada senarai yang mengandungi unsur rentetan.

yang= ['', 'ke', 'Dengan', '4', '#']

yang.mengurut()

yang.terbalik()

mencetak (yang)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

['Dengan', '', 'ke', '4', '#']

Kaedah Susun

Kaedah yang disusun juga menyusun senarai Python, dengan cara yang sama seperti kaedah penyortiran. Namun, daripada mengubah senarai asal, ia mengembalikan senarai baru sehingga senarai asal anda tidak tersentuh sekiranya anda ingin menggunakannya semula. Pertimbangkan kod di bawah:

senarai1= ['', 'ke', 'Dengan', '4', '#']

senarai2= disusun(senarai1)

mencetak (senarai1,senarai2)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

['', 'ke', 'Dengan', '4', '#'] ['#', '4', 'ke', '', 'Dengan']

Anda dapat melihat dalam output bahawa list1 masih utuh dan list2 sekarang mempunyai elemen yang disusun. Anda juga boleh menggunakan kaedah terbalik pada list2 untuk mengubah metodologi pesanannya.

Hujah Balik

Anda boleh menggunakan argumen terbalik sebagai alternatif untuk membalikkan fungsi dalam kedua-dua kaedah urutan dan urutan untuk mendapatkan senarai yang disusun mengikut urutan menurun. Cukup berikan nilai Benar untuk mengubah susunan penyortiran:

senarai1= ['', 'ke', 'Dengan', '4', '#']

senarai2= disusun(senarai1,terbalik=Betul)

mencetak (senarai1,senarai2)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

['', 'ke', 'Dengan', '4', '#'] ['Dengan', '', 'ke', '4', '#']

Menggunakan Fungsi Utama untuk Menentukan Logik Anda Sendiri untuk Menyusun Elemen dari Senarai

Dalam kaedah pengisihan dan penyortiran, anda boleh menentukan argumen kunci tambahan yang menggunakan fungsi yang boleh dipanggil sebagai nilainya. Hujah utama ini dapat diberikan fungsi yang ada dari modul Python terbina dalam atau anda boleh menyediakan fungsi anda sendiri dengan logik tersuai. Lihat contoh kod di bawah:

senarai1= ['abcde', 'xyz', 'ijkl']

senarai2= disusun(senarai1,kunci=len)

mencetak (senarai1,senarai2)

senarai1.mengurut(kunci=len)

mencetak (senarai1)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

['abcde', 'xyz', 'ijkl'] ['xyz', 'ijkl', 'abcde']

['xyz', 'ijkl', 'abcde']

Sampel kod menggambarkan penggunaan argumen utama dalam kedua-dua kaedah disusun dan disusun. Fungsi yang diberikan kepadanya disebut len ​​yang menentukan panjang objek rentetan atau berulang. Fungsi atau callable pada asalnya hanya memerlukan satu argumen. Anda memberikannya kepada hujah utama tanpa menggunakan tanda kurung. Fungsi callable yang diberikan kepada argumen utama dipanggil pada setiap elemen dalam senarai. Nilai yang dikembalikan dari kaedah panggilan ini kemudian digunakan sebagai kunci untuk menyusun senarai. Oleh itu, membekalkan fungsi len ke argumen utama menyusun elemen senarai mengikut urutan panjangnya, iaitu dari terpendek hingga terpanjang. Seperti yang dinyatakan sebelumnya, anda selalu boleh menggunakan kaedah terbalik untuk membalikkan kaedah penyortiran.

Anda juga boleh menggunakan fungsi tersuai atau fungsi lambda satu pelapik anda sendiri yang mengembalikan nilai satu ungkapan. Lihat contoh kod di bawah ini di mana senarai mempunyai banyak inventori peti buah semasa:

senarai1= [('mangga', 99), ('oren', 51), ('pisang', 76)]

senarai1.mengurut(kunci=lambdainventori: inventori[1])

mencetak (senarai1)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

[('oren', 51), ('pisang', 76), ('mangga', 99)]

Fungsi lambda dibekalkan dengan inventori argumen, yang merupakan setiap elemen senarai dalam bentuk tuple. Ia kemudian mengembalikan elemen kedua dari setiap tuple sebagai kunci (pada indeks 1). Fungsi urutan kemudian menyusun semua tupel dengan elemen keduanya dalam urutan menaik. Anda juga boleh menggunakan fungsi terbalik atau argumen terbalik pada hasil akhir untuk membalikkan urutan penyortiran.

Kesimpulannya

Ini adalah beberapa cara menggunakan yang anda boleh menyusun kandungan senarai berulang di Python. Argumen utama membolehkan anda menulis logik penyortiran tersuai anda sendiri, sesuai untuk aplikasi yang mungkin mempunyai keperluan berbeza daripada kaedah penyusun terbina dalam.