Gelung Python untuk-dalam dengan Awalan Pembolehubah
Dalam Python, ada kemungkinan untuk menemui coretan kod seperti berikut:
foo = [x for x in bar if x.occupants > 1]
Coretan kod ini menimbulkan persoalan: apakah maksudnya dan bagaimanakah ia kerja?
Memahami Kefahaman Senarai
Sintaks yang dimaksudkan dikenali sebagai pemahaman senarai. Pemahaman senarai ialah cara ringkas untuk menjana senarai baharu berdasarkan senarai sedia ada, biasanya dengan menapis atau mengubah elemennya.
Struktur Sintaksis Pemahaman Senarai
A pemahaman senarai mengikut sintaksis umum ini struktur:
[expression for item in iterable if condition]
Penjelasan Contoh Yang Diberikan
Dalam contoh yang diberikan, elemen berikut terlibat:
Cara Ia Berfungsi
Pemahaman senarai berulang pada setiap elemen x dalam bar senarai. Bagi setiap elemen x, ia menyemak sama ada keadaan x.penghuni > 1 adalah Benar. Jika keadaan adalah Benar, ungkapan x dinilai dan dimasukkan dalam senarai baharu yang sedang dibina.
Perbandingan dengan Gelung Untuk-dalam
Kefahaman senarai adalah setara kepada gelung tradisional untuk masuk berikut:
foo = [] for x in bar: if x.occupants > 1: foo.append(x)
Walau bagaimanapun, pemahaman senarai adalah lebih ringkas dan boleh dibaca.
Cara Alternatif untuk Memahami Sintaksis
Sebagai alternatif, pemahaman senarai boleh dianggap sebagai pintasan kepada dua fungsi terbina dalam:
Dalam contoh yang diberikan, pemahaman senarai adalah bersamaan dengan:
foo = map(lambda x: x, filter(lambda x: x.occupants > 1, bar))
Atas ialah kandungan terperinci Bagaimanakah Pemahaman Senarai Python dengan Awalan Pembolehubah Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!