Mari kita bicara tentang sesuatu yang cukup unik untuk Python dan membuat segalanya benar-benar bagus sebagai pemrogram Python, dan
itu disebut pemahaman, itu salah satu istilah kunci kami.
Pemahaman.
Apakah mereka?
Yah, mereka sebenarnya disebut pemahaman daftar atau pemahaman kumpulan atau pemahaman kamus.
Dan ini adalah beberapa tipe data yang kami miliki di Python.
Dan kami dapat menggunakan pemahaman dengan ketiga tipe data ini, omong-omong, saat saya merekam, ada beberapa burung
berkicau di latar belakang.
Saya pikir akan menyenangkan untuk merekam kicau burung di latar belakang.
Saya pikir itu akan damai bagi Anda jika Anda merasa terganggu.
Maaf, tapi, hei, burung juga harus bersenang-senang.
OK, jadi apa pemahaman ini?
Yah, itu adalah cara cepat bagi kita untuk membuat daftar atau set atau kamus dengan Python alih-alih mungkin
mengulang atau menambahkan banyak item ke daftar.
Jadi izinkan saya menunjukkan kepada Anda, alih-alih melakukan sesuatu seperti daftar saya sama dengan daftar kosong, dan dari sini saya
akan melakukan sesuatu seperti empat karakter di Hello.
Daftar saya titik menambahkan.
Karakter.
Agar saya akhirnya bisa membuat daftar ini, jadi katakanlah daftar saya dan kami akan mencetaknya.
Jika saya klik, jalankan.
Saya membuat daftar yang berisi karakter dari Hello.
Baiklah, tapi.
Apakah ada cara yang lebih cepat dan lebih bersih untuk melakukan ini dan ya, ada dengan pemahaman yang lebih sedikit di Python.
Sekali lagi, ini cukup unik.
Anda tidak melihatnya dalam banyak bahasa pemrograman, tetapi orang-orang yang menggunakan Python sangat menyukai fitur ini, dan saya
juga menyukainya.
Jadi bagaimana kita bisa melakukan ini menggunakan pemahaman daftar?
Nah, format yang akan kita ikuti adalah seperti ini.
Kita akan mengatakan Perram.
Untuk.
Perram dalam iterable.
Jadi ketika saya mengatakan Perram, maksud saya parameter, atau dalam kasus kami, itu bisa berupa variabel, jadi kami bisa menamainya apa pun
yang kami inginkan.
Jadi mari beri nama karakter ini seperti yang kita lakukan di sini dan kemudian karakter seperti yang kita lakukan di sini.
Dan kemudian kami ingin iterable dalam kasus kami akan menyapa.
Sehingga jika saya menghapus ini dan saya klik run.
Saya mendapatkan hal yang sama begitu saja, jadi pada Creation Online tiga, saya membuat daftar yang berisi karakter
di Halo, saya melakukan for loop di sini dan saya membuat daftar.
Jadi cara yang saya suka untuk memikirkannya adalah, hei, buat variabel
dan kemudian kita akan melakukan perulangan for yang mengatakan, hei, untuk setiap variabel dalam iterable yang ditambahkan ke daftar.
Oke, mari kita kembangkan ini, katakanlah saya ingin melakukan sesuatu yang lain, sebut saja daftar saya
juga, dan saya ingin membuat, katakanlah, daftar cepat dengan angka mulai dari nol hingga seratus atau nol hingga sembilan puluh
sembilan.
Bagaimana saya akan melakukan ini lagi?
Menggunakan pemahaman daftar, saya akan mengatakan nomor empat nomor dan kemudian apa iterable yang akan saya gunakan?
Yah, saya akan menggunakan rentang dan mengatakan nol hingga 100 sehingga jika saya klik jalankan di sini.
Lihat itu, saya mendapatkan daftar panjang yang bagus, cukup diisi dengan semua angka ini.
Betapa kerennya itu?
OKE.
Tapi inilah tantangan saya untuk Anda.
Bagaimana jika saya menginginkan ini, tetapi semua angka harus dikalikan dua.
Jadi saya ingin daftar di mana ini sama dengan nol.
Ini adalah dua.
Ini adalah empat.
Ini adalah enam.
Ini adalah delapan.
Ini sepuluh.
Begitu seterusnya dan seterusnya.
Bagaimana saya bisa melakukannya?
Nah, kita sebenarnya dapat memperluas ini sehingga daftar tiga saya kali ini akan menggunakan loop for yang sama yang telah kita
lihat sebelumnya.
Seperti ini, tetapi bukan hanya variabel, ini sekarang merupakan ekspresi bagaimana kita ingin bertindak pada setiap karakter,
seperti yang kita lihat dalam ekspresi lambda.
Jadi sekarang saya bisa mengatakan mati rasa.
Untuk.
Barang-barang ini.
Jadi sekarang jika saya melakukan daftar saya tiga.
Hei, periksa itu.
Itu cukup bagus, bukan?
Oke, mari kita buat lebih menantang, katakanlah, Miles tiga, dan mari kita buat ini sedikit lebih besar di
sini.
Daftar saya untuk saya ingin mengubahnya sehingga dalam daftar saya, saya masih menyimpan di sini apa yang saya miliki angkanya, tetapi saya hanya
ingin menyimpan angka genap.
Dalam hal ini, semuanya genap karena dikalikan dua, tetapi jika, misalnya, kita melakukan
pangkat dua dan mengomentarinya sebentar lalu klik jalankan.
Kami melihat bahwa beberapa nomor tidak.
Meski begitu, saya ingin menyimpan angka-angka ini, tetapi hanya yang genap, bagaimana saya melakukannya?
Nah, dalam hal ini, kita memiliki cara baru untuk membuat ekspresi ini, kita akan melakukan hal yang sama persis seperti yang kita lakukan
di sini.
Jadi saya hanya akan menyalinnya.
Tetapi pada akhirnya, ingat, kita sekarang memiliki ekspresi di sini, sesuatu yang akan kita lakukan untuk mempengaruhi
item apa pun dalam iterable.
Kita akan mengulang hal-hal dan akhirnya setelah ini, kita dapat mengatakan jika atau kita dapat melakukan kondisi if.
Jadi katakanlah dalam kasus kami, saya akan mengatakan jika num.
Modulo dua sama dengan nol, baru kemudian ditambahkan ke daftar.
Jadi jika kita klik, jalankan.
Nah, dan pastikan itu kurang untuk klik run.
Lihat itu, semua ini adalah bilangan genap, jadi mari kita lihat format ini.
Ingat?
Ini disebut pemahaman daftar, ini adalah cara bagi kita untuk membuat daftar dengan cepat dengan Python alih-alih mengulang
dan menggunakan append atau hal-hal yang telah kita lihat sebelumnya.
Jadi ini adalah bentuk singkatan bagi kami untuk melakukan hal-hal unik seperti ini.
Cara kita dapat melakukan ini adalah dengan memiliki ekspresi di sini tentang apa yang ingin kita lakukan dengan setiap
item yang kita ulangi, kita ulangi.
Menggunakan for loop melalui unhittable, kami memberikan variabel yang akan kami tindak, dan kemudian
jika kami mau, kami juga memiliki opsi untuk menambahkan kondisi dan berkata, hei, hanya dimasukkan ke dalam daftar berdasarkan kondisi
ini , berdasarkan benar atau salah.
Sangat, sangat keren sekarang, meskipun pemahaman daftar sangat bagus karena hanya satu baris
sederhana, itu bisa sangat membingungkan.
Melihat kode ini, Anda harus benar-benar terbiasa dengan pemahaman daftar untuk benar-benar memahami apa yang
terjadi.
Jadi, meskipun ini membuat kode lebih pendek, bahkan mungkin lebih bersih, ini mengurangi sedikit keterbacaannya.
Jadi mungkin lebih baik untuk membuat fungsi deskriptif seperti membuat daftar angka genap atau sesuatu
seperti itu.
Jadi lebih deskriptif.
Dan pengembang lain mungkin memiliki gagasan yang lebih baik tentang apa yang terjadi.
Jadi itu selalu trade off.
Mari kita istirahat dan berbicara tentang pemahaman set dan kamus di video berikutnya oleh.