Daftar Pemahaman dengan Python – Dengan Contoh

Di Python, pemahaman daftar membantu Anda membuat daftar baru dari iterable yang ada, seperti daftar, string, dan tupel.

Sintaks ringkasnya memungkinkan Anda membuat daftar baru hanya dalam satu baris kode. Dan tutorial ini akan mengajarkan Anda bagaimana Anda bisa melakukannya.

Selama beberapa menit berikutnya, Anda akan belajar:

  • Cara membuat daftar baru menggunakan for loop,
  • Sintaks untuk menggunakan pemahaman daftar dengan Python, dan
  • Bagaimana cara mengubah pemahaman daftar dengan pernyataan bersyarat if.

Selain itu, Anda juga akan membuat kode beberapa contoh yang akan membantu Anda memahami pemahaman daftar dengan lebih baik.

Mari selami.

Cara Membuat Daftar Python Menggunakan for Loops

Misalkan Anda memiliki daftar nomor nums. Dan Anda ingin membuat daftar lain yang berisi pangkat tiga dari semua angka dalam angka. Inilah cara Anda melakukannya menggunakan for loop dengan Python:

nums = [2,3,5,7]
num_cubes = []
for num in nums:
  num_cubes.append(num**3)

print(num_cubes)

# Output
[8, 27, 125, 343]

Dalam kode di atas, kami memiliki langkah-langkah berikut:

  • Inisialisasi daftar kosong num_cubes.
  • Ulangi daftar angka.
  • Akses setiap angka num, dan hitung kubusnya menggunakan operator eksponensial: num**3.
  • Terakhir, tambahkan nilai pangkat tiga ke daftar num_cubes

Catatan: Dalam Python, operator eksponensial ** digunakan dengan sintaks: num**pow—angka num dipangkatkan.

Namun, Anda dapat melakukan ini dengan lebih mudah menggunakan pemahaman daftar dengan Python. Mari kita lanjutkan untuk mempelajari sintaksnya.

Sintaks Pemahaman Daftar Python

Sintaks umum untuk pemahaman daftar ditunjukkan di bawah ini.

<new_list> = [<expression> for <item> in <iterable>]

Mari kita parsing sintaks di atas.

  • Dalam Python, daftar dibatasi oleh sepasang tanda kurung siku []—karenanya Anda perlu menyertakan pernyataan pemahaman daftar di dalam [].
  • di menandakan bahwa Anda mengulang melalui iterable. Objek Python apa pun yang dapat Anda lewati dan mengakses item individual—seperti daftar, tupel, dan string adalah iterable.
  • adalah output yang ingin Anda hitung untuk setiap di .

Dan ini terdengar sederhana, ya?

Intinya, Anda ingin melakukan sesuatu untuk semua item dalam daftar (atau yang dapat diubah) untuk mendapatkan daftar baru.

Dengan menggunakan ini, kita dapat menyederhanakan sintaks, seperti yang ditunjukkan pada gambar di bawah ini.

Sintaks Pemahaman Daftar Python (Gambar oleh penulis)

Sekarang setelah Anda mempelajari sintaksnya, saatnya untuk memulai pengkodean. Anda dapat menggunakan IDE Python online techking.id untuk mengikuti contoh-contoh ini. Atau Anda bisa menjalankannya di mesin lokal Anda.

Contoh Pemahaman Daftar Python

Di bagian sebelumnya, Anda membuat daftar baru num_cubes dari nums. Mari kita mulai dengan menulis ulang menggunakan pemahaman daftar.

Menggunakan Pemahaman Daftar dengan Angka

Sekarang mari kita gunakan sintaks yang disederhanakan sebagai berikut:

  • : Di sini, Anda harus mengkubus setiap angka. Jadi ganti dengan num**3.
  • : Variabel perulangan adalah num—nomor individual dalam daftar.
  • : Daftar yang kami miliki adalah nums.
  • Dan [num**3 for num in nums] adalah ekspresi terakhir.

Menyatukan semuanya, kami memiliki cuplikan kode berikut:

num_cubes = [num**3 for num in nums]
print(num_cubes)

# Output
[8, 27, 125, 343]

Selamat, Anda telah mengkodekan pemahaman daftar pertama Anda.🎉

Selanjutnya, mari bekerja dengan string Python.

Menggunakan Pemahaman Daftar dengan String

Misalkan Anda memiliki penulis daftar —Anda dapat menulis ulang daftar di bawah ini dengan penulis favorit Anda.😄

authors = ["jane austen","george orwell","james clear","cal newport"]

Perhatikan bagaimana nama penulis dalam huruf kecil dalam daftar di atas. Kami sekarang ingin memformatnya dalam kasus judul dan menyimpannya dalam daftar baru yang disebut author_list.

Catatan: Dalam Python, metode string judul() menerima string sebagai argumen, dan mengembalikan salinan string yang diformat dalam kasus judul. Artinya, huruf pertama setiap kata dikapitalisasi: Nama depan Nama belakang

Jadi, inilah yang perlu Anda lakukan:

  • loop melalui daftar penulis dan untuk setiap penulis dalam daftar,
  • panggil author.title() untuk mendapatkan salinan string dengan selubung judul.

Dan kode Python untuk ini ditunjukkan di bawah ini:

authors = ["jane austen","george orwell","james clear","cal newport"]

author_list = [author.title() for author in authors]
print(author_list)

# Output
['Jane Austen', 'George Orwell', 'James Clear', 'Cal Newport']

Pada output di atas, amati bagaimana nama semua penulis telah diformat dalam kasus judul—yang kita inginkan.

Menggunakan Pemahaman Daftar dengan Banyak Daftar

Sejauh ini, Anda telah mempelajari cara menggunakan pemahaman daftar untuk membuat daftar baru dari satu daftar yang ada. Sekarang mari kita pelajari cara membuat daftar baru dari beberapa daftar.

Misalnya, pertimbangkan masalah ini: Anda memiliki dua daftar l_arr dan b_arr yang berisi panjang dan lebar 4 persegi panjang.

Dan Anda perlu membuat area daftar baru yang mencakup area 4 persegi panjang ini. Ingat, luas = panjang * lebar.

l_arr = [4,5,1,3]
b_arr = [2,1,7,9]

Anda memerlukan elemen dari kedua daftar (l_arr dan b_arr) untuk menghitung luas. Dan Anda dapat melakukannya menggunakan fungsi Zip() Python.

Catatan: Dalam Python, fungsi zip() mengambil satu atau lebih iterables sebagai argumen dengan sintaks zip(*iterables). Kemudian mengembalikan iterator tupel, di mana tupel i berisi elemen i dari masing-masing iterable.

Gambar berikut menjelaskan hal ini secara rinci. Anda memiliki 4 nilai dalam l_arr dan b_arr, jadi rentang indeksnya adalah dari 0 hingga 3. Seperti yang Anda lihat, tuple 0 berisi l_arr[0] dan b_arr[0]tuple 1 berisi l_arr[1] dan b_arr[1]dan seterusnya.

Fungsi Python zip() (Gambar oleh penulis)

Oleh karena itu, Anda dapat mengulang melalui zip(l_arr,b_arr) seperti yang ditunjukkan di bawah ini:

area = [l*b for l,b in zip(l_arr,b_arr)]
print(area)

# Output
[8,5,7,27]

Di bagian berikutnya, Anda akan mempelajari cara menggunakan pernyataan bersyarat di dalam pemahaman daftar.

Pemahaman Daftar Python dengan Sintaks Kondisi

Mari kita mulai dengan membangun sintaks sebelumnya untuk pemahaman daftar.

Berikut sintaksnya:

<new_list> = [<expression> for <item> in <iterable> if <condition>]

Alih-alih menghitung untuk semua item, Anda hanya ingin melakukannya untuk item yang memenuhi tertentu—di mana, kondisi := Benar. Dan ini mengarah ke sintaks yang disederhanakan seperti yang ditunjukkan:

Pemahaman Daftar Python dengan Sintaks Kondisi (Gambar oleh penulis)

Dengan itu, mari kita lanjutkan ke contoh kode.

Pemahaman Daftar Python dengan Contoh Kondisi

#1. Anda diberi string “Saya sedang belajar Python pada tahun 2022”. Anda ingin mendapatkan daftar semua digit dalam string ini. Jadi bagaimana Anda melakukannya?

Dalam Python, .isdigit() bekerja pada karakter dan mengembalikan True jika berupa digit (0-9); lain itu mengembalikan False.

Cuplikan kode di bawah ini menunjukkan bagaimana Anda dapat mengumpulkan daftar semua digit dalam string str1.

str1 = "I'm learning Python3 in 2022"

digits = [char for char in str1 if char.isdigit()]

print(digits)

# Output
['3', '2', '0', '2', '2']

Dalam kode di atas:

  • Anda mengulang melalui string str1,
  • akses setiap karakter untuk memeriksa apakah itu digit menggunakan metode isdigit(), dan
  • tambahkan char ke digit daftar baru hanya jika itu adalah digit.

Mari kita ambil contoh lain.

#2. Anda memiliki daftar buah.🍊 Dan Anda ingin membuat daftar start_with_b yang berisi semua buah dari daftar buah yang dimulai dengan b. Anda dapat menggunakan metode startwith() untuk menulis kondisi.

.startswith(‘char’) mengembalikan True jika dimulai dengan ‘char’; lain itu mengembalikan False.

fruits = ['blueberry','apple','banana','orange','cherry']

starts_with_b = [fruit for fruit in fruits if fruit.startswith('b')]

print(starts_with_b)

# Output
['blueberry', 'banana']

Pada output di atas, kita mendapatkan ‘blueberry’ dan ‘banana’ yang merupakan dua buah yang dimulai dengan ‘b’ dalam daftar buah, seperti yang kita harapkan.

Dan itu mengakhiri diskusi kita tentang pemahaman daftar.

Kesimpulan

Saya harap tutorial ini membantu Anda memahami pemahaman daftar dengan Python.

Mari kita rangkum:

  • Kamu dapat memakai [<do this> for <all-items> in <this-list>] untuk membuat daftar baru menggunakan pemahaman daftar.
  • Selain itu, Anda dapat menggunakan sintaks [<do this> for <all-items> in <this-list> if <condition-is-True>] dengan pernyataan kondisi if.

Selain itu, Anda juga telah mengkodekan beberapa contoh. Sebagai langkah selanjutnya, Anda dapat mencoba menulis ulang beberapa loop Python yang ada untuk pembuatan daftar menggunakan pemahaman daftar. Selamat mengkode! Sampai jumpa di tutorial selanjutnya.

Anda sekarang dapat melihat cara mengonversi daftar ke kamus atau mempelajari cara menangani file dengan Python.

  Bagaimana Melengkung Teks di PowerPoint