Python Academy · Pelajaran

Pemahaman Senarai

Cipta senarai dengan ringkas menggunakan sintaks pemahaman bersyarat.

Pelajaran 1 daripada 414 langkah

Pemahaman Senarai ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Pengenalan

Pemahaman senarai mencipta senarai baharu daripada objek boleh lelar dalam satu ungkapan yang mudah dibaca, menggantikan corak gelung for yang biasa.

Sintaks Asas

[expression for item in iterable] ialah bentuk asas. [x*2 for x in range(5)] menghasilkan [0,2,4,6,8].
doubled = [x*2 for x in range(5)]
print(doubled)

Dengan Syarat

[x for x in range(10) if x%2==0] menapis nombor genap. Klausa if hadir selepas klausa for.
evens = [x for x in range(10) if x % 2 == 0]
print(evens)

Mengubah Rentetan

[word.upper() for word in words] menggunakan upper() pada setiap rentetan. Berfungsi pada mana-mana objek boleh lelar.
words = ['hello', 'world']
print([w.upper() for w in words])

Pemahaman Bersarang

[x for row in matrix for x in row] ialah pemahaman bersarang yang diratakan (dibaca dari kiri ke kanan, dengan gelung luar dahulu).
matrix = [[1,2,3],[4,5,6]]
flat = [x for row in matrix for x in row]
print(flat)

if/else dalam Ungkapan

[x if x>0 else 0 for x in lst] menggunakan ternari dalam bahagian ungkapan (sebelum for), bukannya selepasnya.
lst = [-1, 2, -3, 4]
clipped = [x if x > 0 else 0 for x in lst]
print(clipped)

Pemahaman berbanding map/filter

[f(x) for x in it if cond(x)] setara dengan list(map(f, filter(cond, it))) tetapi lebih mudah dibaca.
nums = range(10)
result = [x**2 for x in nums if x%2==0]
print(result)

Meratakan dengan Pemahaman

Untuk 2+ aras bersarang, pemahaman boleh meratakan: [[1,2],[3,4]] → [1,2,3,4].
nested = [[1,2],[3,4],[5]]
flat = [x for sub in nested for x in sub]
print(flat)

Pemahaman dengan enumerate()

[(i, x) for i, x in enumerate(lst)] menghasilkan senarai pasangan indeks-nilai.
colors = ['red', 'green', 'blue']
indexed = [(i, c) for i, c in enumerate(colors)]
print(indexed)

Pemahaman dengan zip()

[a+b for a, b in zip(lst1, lst2)] menambah elemen yang sepadan daripada dua senarai.
a = [1, 2, 3]
b = [10, 20, 30]
print([x+y for x,y in zip(a,b)])

Bila TIDAK Patut Menggunakan Pemahaman

Jika logiknya rumit atau memerlukan kesan sampingan, gunakan gelung for biasa. Pemahaman hendaklah kekal sebagai satu baris.
# Too complex for comprehension:
result = []
for x in range(10):
    if x > 5:
        result.append(x * x)
print(result)

Semakan Pantas

Dalam pemahaman senarai yang mempunyai syarat dan ternari, di manakah ternari diletakkan?

Imbas Kembali

Pemahaman senarai: [expr for x in it if cond]. Ternari dalam ungkapan: [x if cond else y for x in it]. Gunakannya untuk transformasi yang rata dan mudah dibaca.

Teruskan

Cemerlang! Teruskan ke pelajaran seterusnya untuk mendalami kemahiran anda.
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
76
Pelajaran
320

Soalan Lazim

Adakah pelajaran “Pemahaman Senarai” percuma?

Ya — teks penuh “Pemahaman Senarai” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pemahaman Senarai”?

Cipta senarai dengan ringkas menggunakan sintaks pemahaman bersyarat. Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Python Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Pemahaman Senarai” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pemahaman Senarai
  2. Pemahaman Set dan Dict
  3. Ungkapan Penjana
  4. Kata Kunci yield
← Kembali ke Python Academy