Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang pemahaman senarai dalam Python

Penjelasan terperinci tentang pemahaman senarai dalam Python

WBOY
WBOYasal
2023-06-11 09:01:3614369semak imbas

Pemahaman senarai dalam Python ialah sintaks yang mudah dan pantas yang boleh menjana senarai dengan cepat. Bentuk tatabahasanya serupa dengan terbitan set dalam matematik, dan semantiknya juga serupa, menjadikannya mudah untuk difahami dan digunakan. Senarai pemahaman dalam Python akan diperkenalkan secara terperinci di bawah.

1. Struktur tatabahasa asas

Struktur tatabahasa asas kefahaman senarai ialah:

[ ungkapan untuk item dalam keadaan boleh iterable if ]

Antaranya, ungkapan Mewakili ungkapan yang terlibat dalam penjanaan senarai, yang boleh termasuk operasi seperti pembolehubah dan panggilan fungsi item mewakili elemen dalam senarai yang dijana mewakili objek boleh diulang, seperti senarai, tuple, set, dll.; , yang boleh Ditinggalkan.

2. Senario penggunaan biasa

1 Hasilkan senarai integer

Contohnya, untuk menjana senarai integer antara 1 dan 10, anda boleh menggunakan kod berikut :

num_list = [i for i in range(1,11)]
print(num_list)

Hasil keluarannya ialah:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Di sini, fungsi julat() digunakan untuk menjana lelaran integer antara 1 dan 10, dan kemudian elemen diekstrak satu demi satu melalui senarai kefahaman dan dibentuk menjadi senarai.

2. Hasilkan senarai segi empat sama

Sebagai contoh, untuk menjana senarai segi empat sama integer antara 1 dan 10, anda boleh menggunakan kod berikut:

square_list = [i**2 for i in range(1,11)]
print(square_list)

Hasil output ialah:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3 Tapis elemen senarai

Sebagai contoh, untuk menapis rentetan yang lebih panjang daripada 3 daripada senarai rentetan, anda boleh menggunakan kod berikut:

str_list = ['hello', 'world', 'python', 'list', 'comprehension', 'study']
new_list = [s for s in str_list if len(s) > 3]
print(new_list)

The hasil keluaran ialah:

['hello', 'world', 'python', 'comprehension', 'study']

Pernyataan if digunakan di sini untuk menapis elemen secara bersyarat Hanya rentetan dengan panjang lebih daripada 3 boleh dimasukkan ke dalam senarai baharu.

4. Berbilang gelung

Sebagai contoh, untuk menjana semua produk antara 1 dan 9 anda boleh menggunakan kod berikut:

mul_list = [i*j for i in range(1,4) for j in range(1,4)]
print(mul_list)

Hasil output ialah:

[1, 2, 3, 2, 4, 6, 3, 6, 9]

Operasi pendaraban dilaksanakan di sini melalui dua peringkat gelung, iaitu, apabila i dan j masing-masing ialah 1, 2, dan 3, hasil darabnya membentuk elemen dalam senarai.

3. Pemahaman senarai bersarang

Kadangkala anda perlu melakukan operasi yang lebih kompleks pada elemen semasa menjana senarai. Pemahaman senarai bersarang ialah pemahaman senarai bersarang semula berdasarkan pemahaman senarai Struktur tatabahasanya ialah:

[ ungkapan untuk item dalam lelaran jika syarat untuk sub_item dalam sub_iterable jika sub_condition ]

Antaranya, makna ungkapan, item, iterable dan condition adalah konsisten dengan struktur sintaks asas di atas mewakili elemen yang dilalui semula berdasarkan sub_iterable mewakili objek lelaran sub_item mewakili keadaan penapisan untuk sub_item;

Berikut ialah beberapa contoh biasa pemahaman senarai bersarang.

1. Hasilkan matriks segi empat sama

Contohnya, untuk menjana matriks segi empat sama 3×3 anda boleh menggunakan kod berikut:

matrix = [[i*j for j in range(1,4)] for i in range(1,4)]
for row in matrix:
    print(row)

Hasil output ialah:

[1, 2, 3]
[2, 4, 6]
[3, 6, 9]

Dua peringkat terbitan bersarang ini digunakan di sini Terbitan luar menjana tiga senarai, dan terbitan dalam menjana tiga elemen dalam setiap senarai, dengan itu membentuk matriks persegi 3×3.

2. Tapis nombor ganjil dan genap

Sebagai contoh, untuk menapis nombor ganjil dan nombor genap daripada senarai integer untuk membentuk dua senarai masing-masing, anda boleh menggunakan kod berikut:

num_list = [1,2,3,4,5,6,7,8,9,10]
odd_list = [i for i in num_list if i%2 == 1]
even_list = [i for i in num_list if i%2 == 0]
print(odd_list)
print(even_list)

Hasil keluaran masing-masing :

[1, 3, 5, 7, 9]
[2, 4, 6, 8, 10]

Dua pemahaman senarai bersarang digunakan di sini untuk menapis unsur ganjil dan genap dalam senarai asal masing-masing.

4. Ringkasan

Pemahaman senarai ialah salah satu ciri tatabahasa bahasa Python dengan mudah Ia boleh menjana pelbagai jenis senarai dan juga menyokong ciri lanjutan seperti bersarang. Dalam pengaturcaraan sebenar, pembelajaran dan menggunakan pemahaman senarai boleh meningkatkan kecekapan dan kebolehbacaan penulisan kod.

Atas ialah kandungan terperinci Penjelasan terperinci tentang pemahaman senarai dalam Python. 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