Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Pemahaman Senarai Bersarang Meratakan Senarai dalam Python?
Pemahaman Senarai Bersarang: Memecah Sintaks
Dalam Python, pemahaman senarai ialah cara ringkas untuk menjana senarai baharu berdasarkan senarai sedia ada satu. Walau bagaimanapun, apabila ia berkaitan dengan pemahaman senarai bersarang, sintaks boleh menjadi agak mengelirukan.
Pertimbangkan coretan berikut:
a = [[1,2],[3,4],[5,6]] b = [x for xs in a for x in xs]
Kod ini mengubah senarai bersarang a menjadi senarai diratakan b yang mengandungi semua unsur daripada a. Untuk memahami cara ini berfungsi, mari kita pecahkan sintaks:
[x for xs in a for x in xs]
Ini ialah pemahaman bersarang dua peringkat. Ia pada asasnya mengatakan:
# Loop over the outer list for xs in a: # Loop over the inner list for x in xs: # Add x to the new list b b.append(x)
Dalam erti kata lain, ia mula-mula melelang ke atas senarai luar a, menetapkan setiap subsenarai kepada pembolehubah xs, dan kemudian melelaran ke atas subsenarai, memperuntukkan setiap elemen kepada pembolehubah x. Untuk setiap elemen x, ia menambahkannya pada senarai b baharu.
Proses membuka gelendong ini mengikut susunan gelung ditulis: gelung paling luar berbeza paling perlahan, diikuti gelung dalam. Ini ialah prinsip "Orang Tepat" yang disebut dalam PEP202, yang mengatakan bahawa pemahaman harus ditulis dengan indeks yang paling cepat berubah-ubah pada gelung paling dalam.
Dengan memahami prinsip ini, anda dengan yakin boleh menguraikan pemahaman senarai bersarang yang kompleks walaupun .
Atas ialah kandungan terperinci Bagaimanakah Pemahaman Senarai Bersarang Meratakan Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!