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-langkah lelaran secara manual dan memulakan lelaran. Walaupun ada cara untuk menjadikan perilakunya sama dengan bahasa pengaturcaraan lain (tidak akan dibahas dalam artikel ini). Anda juga boleh menjalankan kawalan untuk gelung dengan menggunakan pernyataan seperti meneruskan, pecah, lulus dll. Berikut adalah contoh mudah untuk gelung di Python:
untukxdalam julat(10):
mencetak(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 baris. 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= [xuntukxdalam julat(10)]
mencetak (nombor)
Perhatikan bahawa pemahaman senarai selalu membuat senarai baru dan tidak mengubah jadual semula yang digunakan dalam ungkapan. Ungkapan pemahaman senarai khas mesti mempunyai klausa dan boleh diikuti dengan pernyataan bersyarat jika dan lain-lain. Tanpa menggunakan pemahaman senarai, contoh di atas akan ditulis dengan cara berikut:
nombor= []
untukxdalam julat(10):
nombor.tambahkan(x)
mencetak (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 yang kompleks dapat menyebabkan pembacaan kod yang buruk 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 kunci-nilai 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, anda sekarang harus menggunakan pendakap kerinting. Anda juga akan mendapat kamus / set objek baru dan bukannya senarai baru.
data= {'bandar':'new york', 'nama':'john doe'}
berformat_data= {k: v.tajuk() untukke,vdalamdata.barang()}
mencetak (berformat_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', 'nama':'john doe'}data= {k: v.tajuk() untukke,vdalamdata.barang()}
mencetak (data)
Tanpa menggunakan pemahaman kamus, kodnya akan kelihatan seperti ini:
data= {'bandar':'new york', 'nama':'john doe'}berformat_data= {}
untukke,vdalamdata.barang():
berformat_data[ke] =v.tajuk()
mencetak (berformat_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 untuk penyataan. Di bawah ini adalah contoh yang menggunakan beberapa untuk gelung dan pernyataan jika bersyarat.
kata sifat= ['Cakera', 'Eoan', 'Fokus', 'Berseni']haiwan= ['Dingo', 'Ermine', 'Lubang', 'Berang-berang']
nama kod= [x +''+ danuntukxdalamkata sifatuntukdandalamhaiwansekiranyadan.bermula dengan(x[0])]
mencetak (nama kod)
Kod tersebut akan menunjukkan [‘Disco Dingo’, ‘Eoan Ermine’, ‘Focal Fossa’] sebagai output. Kedua-dua gelung itu merangkumi senarai kata sifat dan haiwan dan anggotanya digabungkan menggunakan ruang, hanya jika huruf pertama kedua-dua perkataan itu sama. Tanpa menggunakan pemahaman senarai, kodnya akan kelihatan seperti ini:
kata sifat= ['Cakera', 'Eoan', 'Fokus', 'Berseni']haiwan= ['Dingo', 'Ermine', 'Lubang', 'Berang-berang']
nama kod= []
untukxdalamkata sifat:
untukdandalamhaiwan:
sekiranyadan.bermula dengan(x[0]):
nama kod.tambahkan(x +''+ dan)
mencetak (nama kod)
Contoh: Senarai Pemahaman dengan Klausa if-else
Contoh di bawah akan menunjukkan penggunaan pernyataan jika dan lain-lain dalam pemahaman senarai.
nombor_senarai= [1, 2, 3, 4]senarai_ yang lain= [5, 6, 7, 8]
hasil= [Betul sekiranya (x + y)%2 == 0 yang lain Salah untukxdalamnombor_senaraiuntukdandalamsenarai_ yang lain]
mencetak (hasil)
Semasa mencari 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:
nombor_senarai= [1, 2, 3, 4]senarai_ yang lain= [5, 6, 7, 8]
hasil= []
untukxdalamnombor_ senarai:
untukdandalamsenarai_ lain:
sekiranya (x + y)%2 == 0:
hasil.tambahkan(Betul)
yang lain:
hasil.tambahkan(Salah)
mencetak (hasil)
Kesimpulannya
Pemahaman senarai menyediakan kaedah yang baik untuk menulis pernyataan gelung yang bersih dan ringkas. Walau bagaimanapun, mereka dapat dengan cepat menjadi kompleks 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 singkatan secara berlebihan.