Daftar Pemahaman dengan Python – Dengan Contoh
Diterbitkan: 2022-02-18Di 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 kondisional
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 nums
. 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
. -
nums
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
—angkanum
dinaikkan menjadi pangkatpow
.
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
[]
—oleh karena itu Anda harus menyertakan pernyataan pemahaman daftar di dalam[]
. -
<item>
di<iterable>
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. -
<expression>
adalah output yang ingin Anda hitung untuk setiap<item>
dalam<iterable>
.
Dan ini terdengar sederhana, ya?
Intinya, Anda ingin melakukan sesuatu untuk semua item dalam daftar (atau yang dapat diubah apa pun) untuk mendapatkan list baru .
Dengan menggunakan ini, kita dapat menyederhanakan sintaks, seperti yang ditunjukkan pada gambar di bawah ini.

Sekarang setelah Anda mempelajari sintaksnya, sekarang saatnya untuk memulai pengkodean. Anda dapat menggunakan IDE Python online Geekflare untuk mengikuti contoh-contoh ini. Atau Anda dapat 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:
-
<do-this>
: Di sini, Anda harus mengkubus setiapnum
. Jadi ganti<do-this>
dengannum**3
. -
<all-items>
: Variabel perulangan adalahnum
—nomor individu dalam daftar. -
<this-list>
: Daftar yang kami miliki adalahnums
. - 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 authors
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 title() menerima string sebagai argumen, dan mengembalikan salinan string yang diformat dalam kasus judul. Artinya, huruf pertama dari setiap kata ditulis dengan huruf kapital:
First-name Last-name
belakang
Jadi, inilah yang perlu Anda lakukan:
- loop melalui daftar
authors
dan untuk setiapauthor
dalam daftar, - panggil
author.title()
untuk mendapatkan salinan string yang diberi 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 dari 4 persegi panjang ini. Ingat, area = length * breadth
.
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 sintakszip(*iterables)
. Kemudian mengembalikan iterator tupel, di mana tupeli
berisi elemeni
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.

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>]
Daripada menghitung <expression>
untuk semua item, Anda hanya ingin melakukannya untuk item yang memenuhi <condition>
tertentu —di mana, condition := True
. Dan ini mengarah ke sintaks yang disederhanakan seperti yang ditunjukkan:

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,
<char>.isdigit()
bekerja pada karakter<char>
dan mengembalikanTrue
jika berupa digit (0-9); lain itu mengembalikanFalse
.
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 string
str1
, - akses setiap
char
untuk memeriksa apakah itu digit menggunakan metodeisdigit()
, dan - tambahkan
char
kedigits
daftar baru hanya jika itu adalah digit.
Mari kita ambil contoh lain.
#2. Anda memiliki daftar buah-buahan. Dan Anda ingin membuat daftar starts_with_b
yang berisi semua buah dari daftar fruits
yang dimulai dengan b
. Anda dapat menggunakan metode startswith()
untuk menulis kondisi.
<str>.startswith('char')
mengembalikanTrue
jika <str> dimulai dengan 'char'; lain itu mengembalikanFalse
.
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 fruits
, 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:
- Anda dapat menggunakan [<do this> for <all-items> di <this-list>] untuk membuat daftar baru menggunakan pemahaman daftar.
- Selain itu, Anda dapat menggunakan sintaks [<do this> untuk <all-items> di <this-list> if <condition-is-True>] dengan pernyataan
if
conditional.
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 tutorial berikutnya.
Anda sekarang dapat melihat cara mengonversi daftar ke kamus atau mempelajari cara menangani file dengan Python.