Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai Rentetan Berdasarkan Nilai dalam Senarai Selari?

Bagaimana untuk Mengisih Senarai Rentetan Berdasarkan Nilai dalam Senarai Selari?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-14 22:15:14466semak imbas

How to Sort a List of Strings Based on Values in a Parallel List?

Isih Senarai Berdasarkan Nilai daripada Senarai Selari

Pertimbangkan senario berikut: anda mempunyai senarai rentetan, X dan senarai nilai yang sepadan, Y . Tugas anda ialah mengisih X menggunakan nilai dalam Y. Contohnya, diberikan:

X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Y = [ 0,   1,   1,   0,   1,   2,   2,   0,   1 ]

Anda menyasarkan untuk mendapatkan output yang diisih:

["a", "d", "h", "b", "c", "e", "i", "f", "g"]

Walaupun pendekatan tradisional menggunakan gelung berdaya maju, penyelesaian ringkas wujud:

[x for _, x in sorted(zip(Y, X))]

Kod ini:

  1. Zip dua senarai, Y dan X, mencipta senarai tupel: [(0, 'a'), (1, 'b'), ... (2, 'g')].
  2. Isih senarai berzip menggunakan nilai dalam Y sebagai kekunci isihan.
  3. Mengekstrak elemen kedua setiap tuple (rentetan) menggunakan pemahaman senarai.

The hasilnya ialah senarai rentetan yang diisih mengikut susunan yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Rentetan Berdasarkan Nilai dalam Senarai Selari?. 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
Artikel sebelumnya:Penukar Mata Wang dalam pythonArtikel seterusnya:Penukar Mata Wang dalam python