Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menyusun Satu Senarai Secara Serentak dan Permukan Satu Lagi untuk Mengekalkan Surat-menyurat?

Bagaimanakah Saya Boleh Menyusun Satu Senarai Secara Serentak dan Permukan Satu Lagi untuk Mengekalkan Surat-menyurat?

Linda Hamilton
Linda Hamiltonasal
2024-12-05 20:51:12215semak imbas

How Can I Simultaneously Sort One List and Permute Another to Maintain Correspondence?

Isih dan Permutasi Senarai Selari Serentak

Masalah:

Diberi dua senarai item, dikenali sebagai list1 dan list2, matlamatnya adalah untuk mengisih elemen dalam list1 sambil menyusun semula elemen dalam list2 pada masa yang sama agar sepadan dengan yang disusun susunan senarai1. Dalam erti kata lain, kami ingin mengekalkan kesesuaian antara elemen dalam kedua-dua senarai.

Penyelesaian:

Teknik yang digunakan secara meluas untuk masalah ini ialah "hias, susun , undecorate" simpulan bahasa:

list1, list2 = zip(*sorted(zip(list1, list2)))

Kod ini menunjukkan perkara berikut langkah:

  1. zip(senarai1, senarai2) mencipta pasangan elemen sepadan daripada kedua-dua senarai, dengan berkesan "menghiasi" setiap elemen dengan pasangannya daripada senarai lain.
  2. diisih(zip( list1, list2)) mengisih pasangan berdasarkan elemen pertama (dari list1).
  3. zip(*...) "tidak menghiasi" pasangan yang diisih, menghasilkan senarai diisih1 dan padanan, senarai diubah suai2.

Pertimbangan Tambahan:

  • Penyelesaian yang disediakan mentafsirkan sama elemen dalam list1 dengan membandingkan elemen yang sepadan dalam list2. Jika perbandingan ini tidak diingini atau mahal dari segi pengiraan, pertimbangkan untuk menggunakan fungsi kekunci alternatif:
result1, result2 = zip(*sorted(zip(list1, list2), key=lambda x: x[0]))
  • Mengendalikan senarai input kosong adalah penting. Jika senarai input anda mungkin kosong, pastikan anda mempunyai pengendalian ralat yang sesuai atau kes khas untuk mengelakkan ralat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyusun Satu Senarai Secara Serentak dan Permukan Satu Lagi untuk Mengekalkan Surat-menyurat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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