Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Isih Satu Senarai Sambil Mengekalkan Susunan Asal Senarai Selari dalam Python?

Bagaimanakah Saya Boleh Isih Satu Senarai Sambil Mengekalkan Susunan Asal Senarai Selari dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-12-10 06:54:14
asal
723 orang telah melayarinya

How Can I Sort One List While Maintaining the Original Order of a Parallel List in Python?

Mengekalkan Kedudukan Asal Semasa Menyusun Senarai Selari

Dalam senario di mana anda mempunyai senarai selari dan keinginan untuk mengisih satu senarai sambil menyusun semula yang lain dengan cara yang disegerakkan, penyelesaian yang mantap wujud. Menggunakan pendekatan "hias, isih, nyahhias" memudahkan proses, terutamanya dengan fungsi zip terbina dalam Python.

Penyelesaian Pythonic memerlukan mencipta objek zip yang dihias, diikuti dengan mengisihnya dan akhirnya mengekstrak senarai asal daripada zip yang disusun. Teknik ini mengekalkan kedudukan asal unsur dalam kedua-dua senarai.

Sebagai contoh, diberikan senarai:

list1 = [3, 2, 4, 1, 1]
list2 = ['three', 'two', 'four', 'one', 'one2']
Salin selepas log masuk

Melaksanakan kod berikut:

list1, list2 = zip(*sorted(zip(list1, list2)))
Salin selepas log masuk

Akan menghasilkan :

list1 = [1, 1, 2, 3, 4]
list2 = ['one', 'one2', 'two', 'three', 'four']
Salin selepas log masuk

Walau bagaimanapun, jika senarai kosong, kaedah khusus ini tidak akan berfungsi dengan betul. Mengubah suai sedikit boleh menangani isu ini:

list1, list2 = (list(t) for t in zip(*sorted(zip(list1, list2))))
Salin selepas log masuk

Python menawarkan pendekatan pengisihan di tempat alternatif, yang, walaupun lebih bertele-tele, mungkin memberikan sedikit peningkatan prestasi untuk senarai yang lebih kecil:

tups = zip(list1, list2)
tups.sort()
list1, list2 = zip(*tups)
Salin selepas log masuk

Ringkasnya, sementara beberapa pendekatan wujud untuk menyelesaikan masalah ini, kaedah zip menawarkan penyelesaian yang ringkas dan cekap yang mengekalkan kedudukan asal elemen sepanjang pengisihan proses.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Satu Senarai Sambil Mengekalkan Susunan Asal Senarai Selari dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan