Python mengurutkan daftar berdasarkan daftar

Pada artikel ini, kita akan mempelajari cara mengurutkan daftar apa pun, menurut elemen kedua dari sublist yang ada di dalam daftar utama. Kita akan melihat dua metode untuk melakukan ini. Kita akan mempelajari tiga metode untuk melakukan hal semacam ini. Satu dengan menggunakan Bubble Sort, kedua dengan menggunakan metode sort() dan yang terakhir dengan menggunakan metode sortir(). Dalam program ini, kami telah mengurutkan daftar dalam urutan menaik. Contoh

Input : [['rishav', 10], ['akash', 5], ['ram', 20], ['gaurav', 15]]
Output : [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]

Input : [['452', 10], ['256', 5], ['100', 20], ['135', 15]]
Output : [['256', 5], ['452', 10], ['135', 15], ['100', 20]]

Direkomendasikan. Harap coba pendekatan Anda pada {IDE} terlebih dahulu, sebelum melanjutkan ke solusi

Metode 1. Menggunakan Teknik Bubble Sort Di sini kita telah menggunakan teknik Bubble Sort untuk melakukan sortasi. Kami telah mencoba mengakses elemen kedua dari sublist menggunakan loop bersarang. Ini melakukan metode penyortiran di tempat. Kompleksitas waktunya mirip dengan Bubble Sort i. e. , O(n^2)

Python3




# Python code to sort the lists using the second element of sublists

# Inplace way to sort, use of third variable

________ 105 _______ ________ 106 _______

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
0
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
2
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
6
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
7
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
8
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
9
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
0
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
2
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
4
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
7
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
8
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
9
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
0
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
9
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
0
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
6________1______0________1___1____3_______

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
6
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
7
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
9
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
0
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
2
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
4

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
6
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
8

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
8
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1 # Python code to sort the lists using the second element of sublists2
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
0
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3# Python code to sort the lists using the second element of sublists5

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
5# Python code to sort the lists using the second element of sublists2
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
0
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3# Python code to sort the lists using the second element of sublists5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
6

    # Inplace way to sort, use of third variable_4 # Inplace way to sort, use of third variable5

 

# Inplace way to sort, use of third variable_6

# Inplace way to sort, use of third variable5

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1# Inplace way to sort, use of third variable9def0def1def2def3def4def1def6def3def8def1Sort(sub_li):0def3Sort(sub_li):2def1Sort(sub_li):4Sort(sub_li):5

Sort(sub_li):6Sort(sub_li):7

Keluaran

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_

Kompleksitas Waktu. O(n*n),  di mana n adalah panjang dari sub_li yang diberikan
Ruang Bantu. O(1)

Metode 2. Menyortir dengan menggunakan metode sort() Saat menyortir melalui metode ini, konten sebenarnya dari tuple diubah, dan seperti metode sebelumnya, metode sortir di tempat dilakukan.  

Python3




Sort(sub_li):_8

Sort(sub_li):_9

________ 105 _______ ________ 106 _______

 

        3

        5

        7

        9

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
01
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
02
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
04

    # Inplace way to sort, use of third variable_4 # Inplace way to sort, use of third variable5

 

# Inplace way to sort, use of third variable_6

# Inplace way to sort, use of third variable5

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1# Inplace way to sort, use of third variable9def0def1def2def3def4def1def6def3def8def1Sort(sub_li):0def3Sort(sub_li):2def1Sort(sub_li):4Sort(sub_li):5

Sort(sub_li):6Sort(sub_li):7

Keluaran

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_

Kompleksitas waktu. O(masuk)
Ruang bantu. O(1) karena penyortiran dilakukan di tempat menggunakan fungsi sort(). Fungsi sort() memiliki kompleksitas waktu O(nlogn) untuk skenario rata-rata dan terburuk

Metode 3. Menyortir dengan menggunakan metode sortir() Sorted() mengurutkan daftar dan selalu mengembalikan daftar dengan elemen dengan cara diurutkan, tanpa mengubah urutan aslinya. Dibutuhkan tiga parameter dari mana dua adalah opsional, di sini kami mencoba menggunakan ketiganya

  • Iterable. sequence (list, tuple, string) atau collection (dictionary, set, frozenset) atau iterator lainnya yang perlu diurutkan
  • Kunci (opsional). Fungsi yang akan berfungsi sebagai kunci atau dasar perbandingan sortir
  • Terbalik (opsional). Untuk mengurutkan ini dalam urutan menaik kita bisa saja mengabaikan parameter ketiga, yang kita lakukan dalam program ini. Jika disetel benar, maka iterable akan diurutkan dalam urutan terbalik (menurun), secara default disetel sebagai salah

Python3




Sort(sub_li):_8

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_31

________ 105 _______ ________ 106 _______

 

        3

        5

        7

    # Inplace way to sort, use of third variable4

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
9
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
43
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
44
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
01
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
02
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
49

 

# Inplace way to sort, use of third variable_6

# Inplace way to sort, use of third variable5

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1# Inplace way to sort, use of third variable9def0def1def2def3def4def1def6def3def8def1Sort(sub_li):0def3Sort(sub_li):2def1Sort(sub_li):4Sort(sub_li):5

Sort(sub_li):6Sort(sub_li):7

Keluaran

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_

Metode 4. Gunakan perintahDIct

Python3




[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_72
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
73
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
74
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
75

 

________ 105 _______ ________ 106 _______

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_79

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
81
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
83

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
6
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
7
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
88

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
2
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
90
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
3Sort(sub_li):5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
6

    

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_97

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
99
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
43
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
02

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_04

    

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
06
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
08
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
5
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
10
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
7
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
12

    

    # Inplace way to sort, use of third variable_4

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
06

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_17

# Inplace way to sort, use of third variable_6

# Inplace way to sort, use of third variable5

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
1# Inplace way to sort, use of third variable9def0def1def2def3def4def1def6def3def8def1Sort(sub_li):0def3Sort(sub_li):2def1Sort(sub_li):4Sort(sub_li):5

Sort(sub_li):6Sort(sub_li):7

Keluaran

[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]
_

Pendekatan ini mengimplementasikan kamus terurut yang menyimpan elemen sublist sebagai pasangan kunci-nilai. Kamus kemudian diurutkan berdasarkan kunci dan daftar dikembalikan dengan elemen yang diurutkan menurut elemen kedua dalam subdaftar

Bagaimana cara mengurutkan daftar berdasarkan daftar lain?

Pendekatan. .
Zip kedua daftar
Buat daftar baru yang diurutkan berdasarkan zip menggunakan sortir()
Dengan menggunakan pemahaman daftar, ekstrak elemen pertama dari setiap pasangan dari daftar yang diurutkan dan di-zip

Bagaimana Anda mengurutkan dua daftar dengan Python?

Sortir dan Gabungkan Dua Daftar menggunakan Metode sort() .
Tentukan dua variabel untuk menetapkan daftar kosong
Sekarang ambil jumlah input untuk daftar pertama dan kedua
Sekarang gabungkan kedua daftar menggunakan operator '+'
Gunakan metode sort() bawaan untuk mengurutkan daftar yang baru dibuat

Bagaimana Anda mengurutkan daftar dengan daftar bersarang di Python?

Karena kami telah memberikan nomor indeks "1", daftar bersarang kami akan diurutkan berdasarkan elemen kedua dari daftar bersarang. .
def Sortir(Daftar). Daftar. urutkan(kunci=lambda l. aku[1]).
def Sortir(DaftarKu). return (diurutkan(MyList, key=lambda i. saya[0])).
ListIs = [('Pink'), ('Green'), ('Blue'), ('Orange')] ListIs

Bagaimana Anda mengurutkan sublist dengan Python?

Pendekatan lain untuk mengurutkan sublist dalam daftar string adalah menggunakan fungsi sortir bawaan dan pemahaman daftar . Metode ini melibatkan iterasi pada setiap sublist dalam daftar dan mengurutkannya menggunakan fungsi sortir, kemudian mengembalikan sublist yang telah diurutkan ke dalam daftar baru menggunakan pemahaman daftar.