Isih Senarai mengikut Nilai Sepadan daripada Senarai Selari
Dalam senario ini, anda mempunyai dua senarai, X dan Y, di mana setiap elemen dalam Y sepadan dengan nilai yang dikaitkan dengan elemen dalam X. Matlamat anda adalah untuk mengisih senarai X berdasarkan nilai dalam senarai Y.
Satu pendekatan yang cekap untuk mencapai ini ialah menggunakan pemahaman senarai bersama-sama dengan fungsi zip() dan sorted():
[x for _, x in sorted(zip(Y, X))]
Mari kita pecahkan coretan kod ini:
Contoh:
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1 ] result = [x for _, x in sorted(zip(Y, X))] print(result) # ['a', 'd', 'h', 'b', 'c', 'e', 'i', 'f', 'g']
Kod ini akan mengeluarkan senarai yang diisih mengikut nilai yang sepadan dalam senarai Y: ["a", "d", "h", "b", "c", "e", "i", "f", "g"].
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Satu Senarai Berdasarkan Nilai Senarai Sepadan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!