Memahami Pemahaman Senarai Bersarang
Pemahaman senarai bersarang menyediakan alat yang berkuasa untuk menjana struktur data yang kompleks dengan cara yang ringkas dan cekap. Untuk memahami tingkah laku mereka, mari kita pecahkan struktur mereka.
Sintaksis Umum:
[exp2([exp1 for x in xSet]) for y in ySet]
Terjemahan kepada Borang Gelung Dikembangkan:
result = [] for y in ySet: innerResult = [] for x in xSet: innerResult.append(exp1) exp2Result = exp2(innerResult) result.append(exp2Result)
Kes Ringkas:
[exp1 untuk x dalam xSet untuk y dalam ySet]:
result = [] for x in xSet: for y in ySet: result.append(exp1)
[[exp1 untuk x dalam xSet] untuk y dalam ySet]:
result = [] for y in ySet: innerResult = [] for x in xSet: innerResult.append(exp1) result.append(innerResult)
Contoh:
Kefahaman senarai bersarang berikut:
[(min([row[i] for row in rows]), max([row[i] for row in rows])) for i in range(len(rows[0]))]
Menghasilkan senarai tupel, di mana setiap tupel mengandungi nilai minimum dan maksimum untuk lajur tertentu merentas semua baris dalam senarai baris . Bentuk gelung dikembangkan setara ialah:
result = [] for i in range(len(rows[0])): innerResult = [] for row in rows: innerResult.append(row[i]) innerResult2 = [] for row in rows: innerResult2.append(row[i]) tuple = (min(innerResult), max(innerResult2)) result.append(tuple)
Isi Utama:
Dengan memahami pendekatan sistematik ini, anda boleh menggunakan konsep tersebut pada pelbagai variasi pemahaman senarai.
Atas ialah kandungan terperinci Bagaimanakah Pemahaman Senarai Bersarang berfungsi: Menyahkod Struktur dan Kefungsian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!