Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisih Senarai Rentetan Berdasarkan Nilai Integer Sepadan dalam Senarai Lain?
Memandangkan dua senarai, X mengandungi rentetan dan Y mengandungi integer, anda bertujuan untuk mengisih X mengikut nilai yang sepadan dalam Y sambil mengekalkan susunan asal unsur dengan nilai "kunci" yang sama. Terokai penyelesaian dioptimumkan berikut menggunakan fungsi terbina dalam Python:
[x untuk _, x dalam disusun(zip(Y, X))]
Contoh:
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1] Z = [x for _,x in sorted(zip(Y,X))] print(Z) # ["a", "d", "h", "b", "c", "e", "i", "f", "g"]
Penjelasan:
Penjelasan Lanjut:
Fungsi sorted() membolehkan anda menentukan fungsi utama yang menentukan kriteria pengisihan. Dalam kes ini, kami menggunakan key=lambda pair: pair[0] untuk mengisih tupel berdasarkan elemen pertamanya. Ini dengan berkesan mengisih X berdasarkan nilai yang sepadan dalam Y.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Rentetan Berdasarkan Nilai Integer Sepadan dalam Senarai Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!