Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Pemahaman Senarai Python dengan Awalan Pembolehubah Berfungsi?

Bagaimanakah Pemahaman Senarai Python dengan Awalan Pembolehubah Berfungsi?

DDD
DDDasal
2024-11-22 02:33:13503semak imbas

How Does Python's List Comprehension with a Variable Prefix Work?

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:

  • Ungkapan: x (ini akan menjadi elemen baharu senarai)
  • Boleh diulang: bar (senarai yang akan ditapis atau diubah)
  • Keadaan: x.penghuni > 1 (digunakan untuk menapis bar)

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:

  • map(function, iterable) menggunakan fungsi yang diberikan kepada setiap elemen dalam iterable, mengembalikan senarai hasil.
  • penapis(keadaan, boleh diulang) menapis yang boleh diulang berdasarkan syarat yang diberikan, mengembalikan senarai elemen yang memenuhi syarat.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn