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

Bagaimanakah Pemahaman Senarai Python dengan Awalan Pembolehubah Berfungsi?

DDD
Lepaskan: 2024-11-22 02:33:13
asal
467 orang telah melayarinya

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]
Salin selepas log masuk

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]
Salin selepas log masuk

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)
Salin selepas log masuk

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))
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan