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
Lepaskan: 2024-12-14 22:15:14
asal
462 orang telah melayarinya

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 ]
Salin selepas log masuk

Anda menyasarkan untuk mendapatkan output yang diisih:

["a", "d", "h", "b", "c", "e", "i", "f", "g"]
Salin selepas log masuk

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

[x for _, x in sorted(zip(Y, X))]
Salin selepas log masuk

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!

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