Untuk Gelung di Python
Pernyataan untuk gelung di Python secara berurutan mengulangi anggota objek, senarai, rentetan dll. Berbanding dengan bahasa pengaturcaraan lain, sintaksnya jauh lebih bersih dan tidak memerlukan menentukan langkah lelaran secara manual dan memulakan lelaran. Walaupun ada cara untuk membuat perilakunya sama dengan bahasa pengaturcaraan lain (tidak akan dibahas dalam artikel ini). Anda juga boleh melakukan kawalan terhadap gelung dengan menggunakan pernyataan seperti meneruskan, rehat, lulus dll. Berikut adalah contoh mudah untuk gelung di Python:
untuk julat x (10):cetak (x)
Gelung untuk di atas akan mencetak sepuluh nombor bermula dari 0 dan berakhir pada 9.
Senaraikan Kefahaman
Pemahaman senarai tidak lain adalah cara ringkas / ringkas untuk menulis pelbagai baris untuk gelung dalam pernyataan satu pelapik. Contoh pemahaman senarai di bawah akan membuat senarai baru sebagai [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] dengan memasukkan semua nilai "x" di dalamnya.
nombor = [x untuk x dalam julat (10)]mencetak (nombor)
Perhatikan bahawa pemahaman senarai selalu membuat senarai baru dan tidak mengubah iterabil semula yang digunakan dalam ungkapan. Ungkapan pemahaman senarai khas mesti mempunyai klausa "untuk" dan dapat diikuti dengan pernyataan bersyarat "jika" dan "lain". Tanpa menggunakan pemahaman senarai, contoh di atas akan ditulis dengan cara berikut:
nombor = []untuk julat x (10):
nombor.tambahkan (x)
cetak (nombor)
Prestasi dan Kebolehbacaan
Pemahaman senarai lebih pantas daripada gelung. Walau bagaimanapun, melainkan jika anda mengulangi lebih dari beratus-ratus ribu item, anda tidak akan melihat peningkatan prestasi yang besar. Walaupun pemahaman senarai menyediakan cara ringkas untuk menulis untuk gelung, ungkapan kompleks dapat menyebabkan pembacaan kod yang lemah dan peningkatan ketajaman. Penting untuk memastikan kod dapat dibaca, kecuali mencapai prestasi maksimum adalah keperluan mutlak untuk program anda.
Contoh: Menggunakan Sintaks Komprehensif Senarai dengan Kamus dan Set
Kamus python adalah kumpulan elemen yang ditentukan dalam pasangan nilai-kunci sementara satu set adalah kumpulan nilai unik di mana pendua tidak dibenarkan. Pemahaman senarai boleh digunakan dengan kamus dan set Python juga. Sintaksnya sedikit berbeza, bukannya membungkus ungkapan dengan pendakap persegi, sekarang anda harus menggunakan pendakap kerinting. Anda juga akan mendapat kamus / set objek baru dan bukannya senarai baru.
data = "bandar": "new york", "name": "john doe"diformat_data = k: v.tajuk () untuk k, v dalam data.barang ()
cetak (diformat_data)
Contoh di atas akan menukar nilai rentetan menjadi huruf besar dan membuat kamus baru bernama "formatted_data", yang outputnya adalah: 'city': 'New York', 'name': 'John Doe'. Anda juga boleh menukar kamus / set di tempat dengan menentukan pembolehubah kamus yang ada di sebelah kiri.
data = "bandar": "new york", "name": "john doe"data = k: v.tajuk () untuk k, v dalam data.barang ()
mencetak (data)
Tanpa menggunakan pemahaman kamus, kodnya akan kelihatan seperti ini:
data = "bandar": "new york", "name": "john doe"diformat_data =
untuk data k, v dalam.item ():
diformat_data [k] = v.tajuk ()
cetak (diformat_data)
Oleh kerana tidak ada pasangan kunci-nilai dalam set, pemahaman satu set dapat didefinisikan dengan cara yang sama seperti pemahaman daftar. Satu-satunya perbezaan adalah penggunaan pendakap kerinting.
Contoh: Berganda Untuk Gelung dalam Pemahaman Senarai
Contoh pemahaman senarai yang disebutkan di atas adalah asas dan menggunakan satu pernyataan “untuk”. Di bawah ini adalah contoh yang menggunakan beberapa untuk gelung dan pernyataan bersyarat "if".
kata sifat = ["Disco", "Eoan", "Focal", "Artful"]haiwan = ["Dingo", "Ermine", "Fossa", "Beaver"]
nama kod = [x + "" + y untuk x dalam kata sifat untuk y pada haiwan jika y.permulaan dengan (x [0])]
cetak (nama kod)
Kod tersebut akan menunjukkan ['Disco Dingo', 'Eoan Ermine', 'Focal Fossa'] sebagai output. Kedua-dua gelung tersebut merangkumi senarai "kata sifat" dan "haiwan" dan anggotanya digabungkan menggunakan ruang, hanya jika huruf pertama kedua-dua kata itu sama. Tanpa menggunakan pemahaman senarai, kodnya akan kelihatan seperti ini:
kata sifat = ["Disco", "Eoan", "Focal", "Artful"]haiwan = ["Dingo", "Ermine", "Fossa", "Beaver"]
nama kod = []
untuk kata sifat x dalam:
untuk haiwan dalam haiwan:
sekiranya y.permulaan dengan (x [0]):
nama kod.tambahkan (x + "" + y)
cetak (nama kod)
Contoh: Senarai Pemahaman dengan Klausa if-else
Contoh di bawah akan menunjukkan penggunaan pernyataan jika dan yang lain dalam pemahaman senarai.
number_list = [1, 2, 3, 4]senarai_ lain = [5, 6, 7, 8]
hasil = [Benar jika (x + y)% 2 == 0 yang lain Salah untuk x dalam nombor_daftar untuk y dalam senarai_ yang lain]
cetak (hasil)
Semasa melihat dua senarai, pemahaman senarai di atas memeriksa sama ada jumlah pasangan unsur itu sama atau tidak. Menjalankan kod di atas akan menunjukkan kepada anda [True, False, True, False, False, True, False, True, True, False, True, False, False, True, False, True] sebagai output. Tanpa menggunakan pemahaman senarai, kodnya akan kelihatan seperti ini:
number_list = [1, 2, 3, 4]senarai_ lain = [5, 6, 7, 8]
hasil = []
untuk x dalam nombor_ senarai:
untuk y dalam senarai_ lain:
jika (x + y)% 2 == 0:
hasil.tambahkan (Betul)
lain:
hasil.tambahkan (Salah)
cetak (hasil)
Kesimpulannya
Kefahaman senarai menyediakan cara yang baik untuk menulis pernyataan gelung yang bersih dan ringkas. Walau bagaimanapun, mereka dengan cepat menjadi rumit dan sukar difahami jika banyak gelung dan pernyataan bersyarat digunakan. Pada akhirnya, ia mencapai tahap keselesaan pengaturcara tetapi pada umumnya adalah idea yang baik untuk menulis kod yang eksplisit, mudah dibaca, dan mudah debug dan bukannya menggunakan kod pendek.