Skip to main content

Bab 3: Mengenal List

Pada bab ini dan bab berikutnya, kamu akan mempelajari apa itu list dan bagaimana mulai bekerja dengan elemen-elemen di dalam sebuah list. List memungkinkan kamu menyimpan sekumpulan informasi di satu lokasi, baik ketika kamu hanya memiliki beberapa item maupun jutaan item. List adalah salah satu fitur Python yang paling keren dan yang paling mudah diakses oleh programmer pemula, serta menghubungkan banyak konsep penting dalam pemrograman.

Apa Itu List?

Sebuah list adalah kumpulan item dalam suatu urutan tertentu. Kamu bisa membuat list yang berisi alfabet, digit dari 0 sampai 9, atau nama semua orang di keluarga kamu. Kamu bisa memasukkan apa pun yang kamu inginkan ke dalam sebuah list, dan item-item di dalam list tidak harus saling berhubungan secara langsung. Karena sebuah list biasanya berisi lebih dari satu elemen, ada baiknya kamu membuat nama list dalam bentuk jamak dalam Bahasa Inggris seperti letters, digits, atau names.

Di Python, tanda kurung siku ([]) menandakan sebuah list, dan elemen-elemen di dalam list dipisahkan oleh koma. Berikut ini adalah contoh sederhana sebuah list yang berisi beberapa jenis sepeda:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)

Bila kamu meminta Python untuk mencetak sebuah list, ia akan menampilkannya seperti ini:

['trek', 'cannondale', 'redline', 'specialized']

Karena kita tidak ingin pengguna melihat tampilan seperti ini apalagi termasuk kurung sikunya, maka mari kita pelajari bagaimana mengakses setiap item yang ada di dalam suatu list.

Mengakses Elemen di dalam List

List adalah data terurut, sehingga kamu dapat mengakses elemen apa pun di dalam sebuah list dengan memberi tahu Python posisi, atau index, dari item yang kamu inginkan. Untuk mengakses sebuah elemen dalam list, tuliskan nama list diikuti oleh index item tersebut yang diapit oleh tanda kurung siku.

Contoh, mari kita ambil sepeda pertama dari list bicycles:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])

Ketika kita meminta satu item dari sebuah list, Python akan memberikannya tanpa kurung siku:

trek

Inilah hasil yang kamu ingin tampilkan kepada pengguna: output yang bersih dan tertata rapi.

Kamu juga dapat menggunakan method string dari Bab 2 pada elemen mana pun di dalam list ini. Misalnya, kamu bisa memformat elemen 'trek' agar terlihat lebih rapi dengan menggunakan method title():

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0].title())

Hasilnya akan sama kecuali 'Trek' kini menggunakan huruf kapital.

Index Dimulai dari 0, Bukan 1

Python menganggap item pertama dalam sebuah list berada pada posisi 0, bukan posisi 1. Ini berlaku di sebagian besar bahasa pemrograman, dan alasannya berkaitan dengan bagaimana operasi list diimplementasikan pada tingkat yang lebih rendah. Jika kamu mendapatkan hasil yang tidak terduga, tanyakan pada diri kamu apakah kamu melakukan kesalahan umum yang disebut off-by-one.

Item kedua dalam sebuah list memiliki index 1. Dengan sistem penghitungan ini, kamu dapat mengambil elemen apa pun dari sebuah list dengan melihat posisinya di dalam list dikurangi satu. Misalnya, untuk mengakses item keempat dalam sebuah list, kamu meminta item dengan index 3.

Contoh berikut meminta sepeda pada index 1 dan index 3:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[1])
print(bicycles[3])

Kode beirkut mengembalikan sepeda kedua dan keempat di dalam list:

cannondale
specialized

Python memiliki perintah khusus untuk mengambil elemen terakhir dari dalam list. Jika kamu meminta item di indeks -1, Python akan selalu memberikan item terakhir:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1])

Kode di atas akan mengembalikan nilai 'specialized'. Cara ini cukup membantu karena terkadang kita ingin mengambil item terakhir tanpa tahu ada berapa banyak item di dalam suatu list. Perintah ini juga berlaku untuk nilai negatif yang lebih rendah. Indeks -2 misalnya akan mengambil item kedua sebelum terakhir, juga -3 akan mengambil item ketiga dari ujung list dan seterusnya.

Kode ini menghasilkan nilai 'specialized'. Sintaks ini sangat berguna, karena kamu sering ingin mengakses item terakhir dalam sebuah list tanpa mengetahui secara pasti seberapa panjang list tersebut. Konvensi ini juga berlaku untuk nilai index negatif lainnya. Index -2 mengembalikan item kedua dari akhir list, index -3 mengembalikan item ketiga dari akhir list, dan seterusnya.

Bekerja dengan Item List

Kamu dapat menggunakan nilai individual dari sebuah list sama seperti kamu menggunakan variabel lainnya. Misalnya, kamu bisa menggunakan f-string untuk membuat sebuah pesan berdasarkan sebuah nilai dari list.

Mari kita coba mengambil sepeda pertama dari list dan menyusun sebuah pesan menggunakan nilai tersebut:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
message = f"My first bicycle was a {bicycles[0].title()}."

print(message)

Kita membuat sebuah kalimat yang memanfaatkan bicycles[0] dan menggunakannya di variabel message. Hasilnya adalah kalimat sederhana:

My first bicycle was a Trek.
💻Cobalah Sendiri

Cobalah mengerjakan program-program singkat berikut untuk mendapatkan pengalaman langsung menggunakan list di Python. Kamu mungkin ingin membuat folder baru untuk latihan di setiap bab agar semuanya terorganisir dengan baik.

3-1. Nama: Simpan nama beberapa teman kamu dalam sebuah list bernama names. Cetak setiap nama dengan mengakses setiap elemen di dalam list tersebut, satu per satu.

3-2. Sapa: Mulailah dengan list yang kamu gunakan pada Latihan 3-1, tetapi alih-alih hanya mencetak nama setiap orang, cetak sebuah pesan untuk menyapa mereka. Teks pesan harus sama, tetapi setiap pesan harus dipersonalisasi dengan nama orang tersebut.

3-3. List Buatanmu Sendiri: Pikirkan moda transportasi favorit kamu, seperti sepeda motor atau mobil, lalu buat sebuah list yang menyimpan beberapa contohnya. Gunakan list tersebut untuk mencetak serangkaian pernyataan tentang item-item ini, misalnya: “I would like to own a Honda motorcycle.”

Mengubah, Menambah dan Menghapus Elemen

Sebagian besar list yang kamu buat akan bersifat dinamis, artinya kamu akan membangun sebuah list lalu menambahkan dan menghapus elemen dari dalamnya seiring waktu. Misalnya, kamu mungkin membuat sebuah game di mana pemain harus menembak alien yang muncul di langit. Kamu bisa menyimpan beberapa alien dalam sebuah list di awal, lalu menghapus alien satu per satu dari dalam list setiap kali alien tersebut berhasil ditembak jatuh. Ketika alien baru perlu dimunculkan di layar, kamu menambahkannya ke dalam list. Dengan cara ini, list alien kamu akan terus bertambah dan berkurang selama permainan berlangsung.

Mengubah Elemen di dalam List

Sintaks untuk mengubah sebuah elemen mirip dengan sintaks untuk mengakses elemen dalam sebuah list. Untuk mengubah sebuah elemen, gunakan nama list diikuti oleh index elemen yang ingin kamu ubah, lalu berikan nilai baru yang kamu inginkan untuk item tersebut.

Sebagai contoh, misalkan kita memiliki sebuah list motorcycles dan item pertama di dalam list tersebut adalah 'honda'. Kita dapat mengubah nilai item pertama ini setelah list dibuat:

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

motorcycles[0] = 'ducati'
print(motorcycles)

Di sini kita mendefinisikan list motorcycles, dengan 'honda' sebagai elemen pertama. Kemudian kita mengubah nilai item pertama tersebut menjadi 'ducati'. Output menunjukkan bahwa item pertama telah berubah, sementara sisa list tetap sama.

['honda', 'yamaha', 'suzuki']

['ducati', 'yamaha', 'suzuki']

Kamu bisa mengubah item manapun dari dalam sebuah list, bukan hanya item pertama.

Menambah Elemen ke Sebuah List

Ada banyak alasan mengapa kamu ingin menambahkan elemen baru ke dalam sebuah list. Misalnya, kamu mungkin ingin membuat alien baru muncul dalam sebuah game, menambahkan data baru ke sebuah visualisasi, atau menambahkan pengguna baru yang terdaftar ke sebuah website yang kamu buat. Python menyediakan beberapa cara untuk menambahkan data baru ke list yang sudah ada.

Menambahkan Elemen ke Akhir List (Appending)

Cara paling sederhana untuk menambahkan elemen baru ke dalam sebuah list adalah dengan meng-append item tersebut. Ketika kamu melakukan append pada sebuah list, elemen baru akan ditambahkan ke bagian akhir. Menggunakan list yang sama seperti pada contoh sebelumnya, kita akan menambahkan elemen baru 'ducati' ke akhir list:

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

motorcycles.append('ducati')
print(motorcycles)

Method append() akan menambah 'ducati' ke akhir list tanpa mengubah elemen-elemen lain:

['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']

Method append() memudahkan kamu untuk membangun list secara dinamis. Misalnya, kamu bisa memulai dengan sebuah list kosong, lalu menambahkan item ke dalam list tersebut menggunakan serangkaian pemanggilan append(). Dengan menggunakan list kosong, mari kita tambahkan elemen 'honda', 'yamaha', dan 'suzuki' ke dalam list:

motorcycles = []

motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')

print(motorcycles)

Hasilnya akan terlihat sama persis dengan contoh sebelumnya:

['honda', 'yamaha', 'suzuki']

Membangun list dengan cara ini sangat umum dilakukan karena sering kali kamu tidak akan mengetahui data apa yang ingin disimpan oleh pengguna di awal program. Untuk memberi kendali, mulailah dengan mendefinisikan sebuah list kosong yang akan menampung nilai-nilai tersebut. Kemudian, tambahkan setiap nilai baru yang diberikan ke dalam list yang baru saja kamu buat.

Menambahkan Elemen Baru ke List di Posisi Tertentu

Kita bisa menambah elemen baru di posisi manapun dengan method insert(). Kita bisa menentukan indeks untuk menambahkan elemen baru tersebut.

motorcycles = ['honda', 'yamaha', 'suzuki']

motorcycles.insert(0, 'ducati')
print(motorcycles)

Pada contoh di atas kita tambahkan nilai 'ducati' di awal list. Method insert() akan menambahkannya di posisi ke 0:

['ducati', 'honda', 'yamaha', 'suzuki']

Operasi ini akan menggeser posisi elemen-elemen yang lain ke kanan.

Menghapus Elemen dari Sebuah List

Sering kali, kamu akan perlu menghapus satu atau beberapa item dari sebuah list. Contohnya, saat seorang pemain berhasil menjatuhkan alien di game, kamu mungkin ingin menghilangkan alien itu dari daftar alien yang masih ada. Atau, jika seorang user memilih untuk menonaktifkan akunnya dalam aplikasi yang kamu buat, kamu tentu ingin menghapus user tersebut dari daftar pengguna yang aktif. Penghapusan item ini bisa dilakukan baik berdasarkan posisi item di dalam list, maupun berdasarkan nilainya.

Menghapus Isi List dengan Perintah del

Jika kita tahu posisi indeks dari elemen yan gingin di hapus dari dalam sebuah list, kita bisa menggunakan perintah del:

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

del motorcycles[0]
print(motorcycles)

Di sini perintah del dipakai untuk mengahpus item pertama, 'honda' dari list:

['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']

Kita bisa menghapus isi list dari posisi mana saja menggunakan perintah del jika tahu indeks nya. Contoh berikut menunjukkan cara menghapus elemen kedua, 'yamaha' dari dalam list:

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

del motorcycles[1]
print(motorcycles)

Motor kedua akan dihapus dari list:

['honda', 'yamaha', 'suzuki']
['honda', 'suzuki']

Pada kedua contoh, kita sudah tidak bisa lagi mengakses elemen yang dihapus setelah perintah del dipanggil.

Menghapus Isi List dengan Perintah method pop()

Terkadang kamu ingin menggunakan nilai sebuah item setelah item tersebut dihapus dari sebuah list. Misalnya, kamu mungkin ingin mengambil posisi x dan y dari sebuah alien yang baru saja ditembak jatuh, sehingga kamu bisa menampilkan ledakan di posisi tersebut. Dalam sebuah aplikasi web, kamu mungkin ingin menghapus seorang pengguna dari list anggota aktif, lalu menambahkan pengguna tersebut ke list anggota tidak aktif.

Method pop() menghapus item terakhir dari sebuah list, tetapi tetap memungkinkan kamu untuk memanfaatkan item tersebut setelah dihapus. Istilah pop berasal dari cara memandang list sebagai sebuah tumpukan (stack of item), lalu mengambil satu item dari bagian atas tumpukan tersebut. Dalam analogi ini, bagian atas tumpukan sesuai dengan bagian akhir dari sebuah list.

Mari kita lakukan pop pada sebuah sepeda motor dari list motorcycles:

motorcycles = ['honda', 'yamaha', 'suzuki'] #1
print(motorcycles)

popped_motorcycle = motorcycles.pop() #2
print(motorcycles) #3
print(popped_motorcycle) #4

Kita mulai dengan membuat list motorcycles (#1). Lalu kita pop sebuah nilai dari dalam list dan menyimpannya ke dalam variabel popped_motorcycle (#2). Lalu kita cetak isi list (#3) untuk melihat abhwa item tadi sudah dibuang dari dalam list. Terakhir kita cetak nilai item yang sudah di pop (#4).

Output yang dihasilkan menunjukkan bahwa 'suzuki' sudah di buang dari ujung list dan sekarang disimpan di dalam variabel popped_motocrcycle:

['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki

Pertanyaannya, bagaimana method pop() ini berguna dikehidupan sehari-hari? Bayangkan bahwa motor-motor yang ada di dalam list disimpan berdasarkan urutan kronologis, mengikuti tanggal kapan kita membelinya. Dalam kasus ini, kita bisa memanfaatkan pop() untuk mencetak motor yang terakhir di beli:

motorcycles = ['honda', 'yamaha', 'suzuki']

last_owned = motorcycles.pop()
print(f"The last motorcycle I owned was a {last_owned.title()}.")

Hasilnya adalah kalimat sederhana untuk menampilkan nama motor yang terakhir di beli:

The last motorcycle I owned was a Suzuki.

Menghapus Item dari Posisi Manapun di List

Kita bisa menggunakan pop() untuk menghapus item dari posisi manapun disebuah list dengan memberikan indeks dari item tersebut:

motorcycles = ['honda', 'yamaha', 'suzuki']

first_owned = motorcycles.pop(0)
print(f"The first motorcycle I owned was a {first_owned.title()}.")

Kita mulai dengan mengambil motor yang ada di posisi petama, lalu kita cetak sebuah pesan menggunakan item yang dibuang dari dalam list.

The first motorcycle I owned was a Honda.

Ingat bahwa setiap kali kita menggunakan pop(), item itu akan diahpus dari dalam list.

Jika kamu tidak yakin kalan untuk menggunakan del atau kapan untuk menggunakan pop(), ini cara sederhana untuk menentukannya. Bila ingin menghapus satu item dari dalam list dan tidak akan menggunakannya, gunakan perintah del, bila ingin menggunakan item yang dihapus, gunakan method pop().

Menghapus Item Berdasarkan Nilainya

Terkadang kita tidak tahu posisi dari nilai yang ingin kita hapus dari sebuah list. Jika hanya tahu nilainya, maka kita bisa memanfaatkan method remove().

beirkut cara menghapus 'ducati' dari dalam list tanpa menentukan posisi indeksnya:

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)

motorcycles.remove('ducati')
print(motorcycles)

Di sini method remove() memerintah Python untuk mencari tahu sendiri dimana posisi 'ducati' di dalam list untuk menghapusnya:

['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']

Kita juga bisa memanfaatkan nilai yang akan dihapus dengan remove(). Contoh, kita bisa menghapus nilai 'ducati' dan mencetak alasan kenapa ia dihapus:

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] #1
print(motorcycles)

too_expensive = 'ducati' #2
motorcycles.remove(too_expensive) #3
print(motorcycles)
print(f"\nA {too_expensive.title()} is too expensive for me.") #4

Setelah membuat list (#1), kita menyimpan nilai 'ducati' ke dalam variabel too_expensive (#2). Lalu kita gunakan varibel ini untuk meminta Python menghapus nilainya dari sebuah list (#3). Nilai 'ducati' sudah dihapus dari list (#4) tapi masih bisa diakses lewat variabel too_expensive, sehingga masih bisa kita gunakan untuk menampilkan pesan tentang mengapa 'ducati' dihapus dari list:

['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me.
tip

Method remove() hanya menghapus nilai yang pertama kali ditemukan. Jika ada kemungkinan nilai tersebut muncul lebih dari satu kali, maka kamu harus menggunakan perulangan untuk memastikan semua nilai dihapus. Kita akan pelajari bagaimana melakukannya di Bab 7.

💻Cobalah Sendiri

Latihan-latihan berikut sedikit lebih kompleks dibandingkan latihan di Bab 2, tetapi latihan ini memberi kamu kesempatan untuk menggunakan list dengan semua cara yang telah dijelaskan.

3-4. Daftar Tamu: Jika kamu bisa mengundang siapa pun untuk makan malam, siapa yang akan kamu undang? Buat sebuah list yang berisi setidaknya tiga orang. Kemudian gunakan list tersebut untuk mencetak sebuah pesan kepada setiap orang, berisi undangan makan malam (lakukan tanpa menggunakan perulangan karena belum kita pelajari).

3-5. Mengubah Daftar Tamu: Kamu baru saja mendengar bahwa salah satu tamu kamu tidak bisa hadir pada acara makan malam, sehingga kamu perlu mengirimkan undangan yang baru. Kamu harus memikirkan orang lain untuk diundang.

  • Mulailah dengan program kamu dari Latihan 3-4. Tambahkan sebuah pemanggilan print() di akhir program yang menyebutkan nama tamu yang tidak bisa hadir.
  • Modifikasi list kamu dengan mengganti nama tamu yang tidak bisa hadir tersebut dengan nama orang baru yang kamu undang.
  • Cetak undangan kedua, satu pesan untuk setiap orang yang masih ada di dalam list kamu.

3-6. Tamu Tambahan: Kamu baru saja menemukan meja makan yang lebih besar, sehingga sekarang tersedia lebih banyak tempat. Pikirkan tiga tamu tambahan untuk diundang makan malam.

  • Mulailah dengan program kamu dari Latihan 3-4 atau 3-5. Tambahkan sebuah pemanggilan print() di akhir program yang memberi tahu orang-orang bahwa kamu menemukan meja yang lebih besar.
  • Gunakan insert() untuk menambahkan satu tamu baru di awal list kamu.
  • Gunakan insert() untuk menambahkan satu tamu baru di tengah list kamu.
  • Gunakan append() untuk menambahkan satu tamu baru di akhir list kamu.
  • Cetak set undangan baru, satu pesan untuk setiap orang di dalam list kamu.

3-7. Mengurangi Daftar Tamu: Kamu baru saja mengetahui bahwa meja makan baru kamu tidak akan tiba tepat waktu untuk acara makan malam, sehingga sekarang kamu hanya memiliki tempat untuk dua tamu.

  • Mulailah dengan program kamu dari Latihan 3-6. Tambahkan satu baris baru yang mencetak pesan bahwa kamu hanya dapat mengundang dua orang untuk makan malam.
  • Gunakan pop() untuk menghapus tamu dari list kamu satu per satu hingga hanya tersisa dua nama di dalam list. Setiap kali kamu melakukan pop pada sebuah nama, cetak sebuah pesan kepada orang tersebut untuk memberi tahu bahwa kamu menyesal tidak bisa mengundang mereka untuk makan malam.
  • Cetak sebuah pesan kepada masing-masing dari dua orang yang masih ada di dalam list kamu, untuk memberi tahu mereka bahwa mereka masih diundang.
  • Gunakan del untuk menghapus dua nama terakhir dari list kamu, sehingga kamu memiliki list kosong. Cetak list tersebut untuk memastikan bahwa kamu benar-benar memiliki list kosong di akhir program kamu.

Mengelola List

Sering kali, list yang kamu buat akan tersusun dalam urutan yang tidak dapat diprediksi, karena kamu tidak selalu bisa mengontrol urutan data yang diberikan oleh pengguna. Meskipun hal ini tidak dapat dihindari dalam banyak situasi, kamu akan sering ingin menampilkan informasi dalam urutan tertentu. Terkadang kamu ingin mempertahankan urutan asli list, dan di lain waktu kamu ingin mengubah urutan tersebut. Python menyediakan berbagai cara untuk mengelola list, tergantung pada kebutuhan kamu.

Mengurutkan List dengan sort()

Method sort() memudahkan kita untuk mengurutkan sebuah list. Bayangkan kita memiliki sebuah list berisi daftar mobile yang ingin kita urutkan secara alfabetis. Untuk memudahkan kita asumsi semua nilai di dalam list ditulis dengan huruf kecil:

y cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)

Method sort() mengubah urutan list secara permanen. Setelah isi list terurut kita tidak akan bisa mengubahnya kembali ke urutan awal.

['audi', 'bmw', 'subaru', 'toyota']

Kita juga bisa membalik logika pengurutan dari belakang dengan memberikan argumen reverse=True. Berikut contohnya:

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)

Sekali lagi urutan list akan berubah secara permanen:

['toyota', 'subaru', 'bmw', 'audi']

Mengurutkan List dengan sorted

Kita bisa memanfaatkan method sorted() untuk mendapatkan list yang terurut sementara tidak mengubah list yang asli. Mari kita coba fungsi ini:

cars = ['bmw', 'audi', 'toyota', 'subaru']

print("Here is the original list:") #1
print(cars)

print("\nHere is the sorted list:") #2
print(sorted(cars))

print("\nHere is the original list again:") #3
print(cars)

Kita cetak dulu list dalam urutan aslinya (#1) lalu kita tampilkan juga setelah terurut (#2). Setelah list ditampilkan dalam urutan yang baru, kita tampilkan isi list aslinya (#3):

Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']

Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']

Here is the original list again: #1
['bmw', 'audi', 'toyota', 'subaru']

Perhatikan bahwa urutan list asli masih dalam kondisi awal bahkan setelah kita memanggil fungsi sorted() (#1). Method ini juga menerima argumen reverse=True bila ingin mengurutkannya dari belakang.

note

Mengurutkan sebuah list secara alfabetis menjadi sedikit lebih rumit ketika tidak semua nilainya ditulis dalam huruf kecil. Ada beberapa cara untuk menafsirkan huruf kapital saat menentukan urutannya, dan menentukan urutan yang benar bisa menjadi lebih kompleks daripada yang ingin kita tangani saat ini. Namun, sebagian besar pendekatan pengurutan akan dibangun langsung dari apa yang telah kamu pelajari di bagian ini.

Membalik Urutan List

Untuk membalik urutan list kita bisa gunakan method reverse(). Jika suatu list disimpan secara kronologis berdasarkan kapan kita membelinya, maka bisa kita balik urutan tersebut dengan mudah seperti ini:

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)

cars.reverse()
print(cars)

Perhatikan bahwa reverse() tidak mengurutkannya secara alfabetis, tapi hanya sekedar membaliknya dari posisi asli:

['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']

Method reverse() akan membalik urutan sebuah list secara permanen, tapi kamu juga bisa mengubahnya lagi dengan melakukan reverse() ulang untuk yang kedua kalinya di list yang sama.

Mencari Tahu Panjang Sebuah List

Kita bisa dengan cepat mencari tahu panjang suatu list lewat fungsi len(). Pada contoh di bawah list nya memiliki empat item, sehingga panjang adalah 4:

>>> cars = ['bmw', 'audi', 'toyota', 'subaru']
>>> len(cars)
4

Kita bisa memanfaatkannya untuk mencari tahu berapa jumlah alien yang masih perlu ditembak, atau menentukan jumlah data yang perlu divisualisasikan, atau menentukan jumlah pengguna terdaftar di sebuah website.

note

Python menghitung jumlah item dalam sebuah list dengan cara yang sederhana: satu item dihitung sebagai satu. Karena itu, saat mengecek panjang list, kamu tidak perlu takut terjadi kesalahan hitung seperti kelebihan atau kekurangan satu angka.

💻Cobalah Sendiri

3-8. Melihat Dunia: Pikirkan setidaknya lima tempat di dunia yang ingin kamu kunjungi.

  • Simpan nama-nama tempat tersebut dalam sebuah list. Pastikan list tersebut tidak dalam urutan alfabet.
  • Cetak list tersebut dalam urutan aslinya. Tidak perlu merapikannya; cukup cetak sebagai list Python apa adanya.
  • Gunakan sorted() untuk mencetak list dalam urutan alfabet tanpa mengubah list yang sebenarnya.
  • Tunjukkan bahwa list masih dalam urutan aslinya dengan mencetaknya kembali.
  • Gunakan sorted() untuk mencetak list dalam urutan alfabet terbalik tanpa mengubah urutan list asli.
  • Tunjukkan lagi bahwa list masih dalam urutan aslinya dengan mencetaknya.
  • Gunakan reverse() untuk mengubah urutan list. Cetak list tersebut untuk menunjukkan bahwa urutannya telah berubah.
  • Gunakan reverse() sekali lagi untuk mengubah urutan list kembali. Cetak list tersebut untuk menunjukkan bahwa urutannya kembali seperti semula.
  • Gunakan sort() untuk mengubah list sehingga tersimpan dalam urutan alfabet. Cetak list tersebut untuk menunjukkan bahwa urutannya telah berubah.
  • Gunakan sort() untuk mengubah list sehingga tersimpan dalam urutan alfabet terbalik. Cetak list tersebut untuk menunjukkan bahwa urutannya telah berubah.

3-9. Jumlah Tamu: Dengan menggunakan salah satu program dari Latihan 3-4 sampai 3-7, gunakan len() untuk mencetak sebuah pesan yang menunjukkan jumlah orang yang kamu undang untuk.

3-10. Semua Function List: Pikirkan hal-hal yang bisa kamu simpan di dalam sebuah list. Misalnya, kamu bisa membuat list berisi gunung, sungai, negara, kota, bahasa, atau apa pun yang kamu sukai. Tulislah sebuah program yang membuat list berisi item-item tersebut, lalu gunakan setiap function yang diperkenalkan di bab ini setidaknya satu kali.

Menghindari Index Error saat Bekerja dengan List

Ada satu jenis error yang sering muncul ketika kamu pertama kali bekerja dengan list. Misalnya, anggap kamu memiliki sebuah list dengan tiga item, lalu kamu mencoba meminta item keempat:

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles[3])

Contoh di atas akan menghasilkan index error:

Traceback (most recent call last):
File "motorcycles.py", line 2, in <module>
print(motorcycles[3])
~~~~~~~~~~~^^^
IndexError: list index out of range

Python mencoba mengambil item pada index 3. Namun saat Python menelusuri list tersebut, tidak ada item di motorcycles yang memiliki index 3. Karena sifat indexing yang off-by-one pada list, error seperti ini sangat umum terjadi. Banyak orang mengira item ketiga adalah item nomor 3 karena mereka mulai menghitung dari 1. Tetapi di Python, item ketiga memiliki index 2, karena Python memulai indexing dari 0.

Sebuah index error berarti Python tidak dapat menemukan item pada index yang kamu minta. Jika index error terjadi di dalam program kamu, coba sesuaikan index yang kamu gunakan dengan menambah atau menguranginya satu angka. Setelah itu, jalankan kembali program untuk melihat apakah hasilnya sudah benar.

Perlu diingat juga bahwa setiap kali kamu ingin mengakses item terakhir dalam sebuah list, kamu sebaiknya menggunakan index -1. Cara ini akan selalu berhasil, bahkan jika ukuran list sudah berubah sejak terakhir kali kamu mengaksesnya.

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles[-1])

Index -1 selalu mengembalikan item terakhir dalam sebuah list, dalam contoh ini yaitu nilai 'suzuki':

suzuki

Satu-satunya kondisi di mana cara ini akan menimbulkan error adalah ketika kamu mencoba meminta item terakhir dari sebuah list kosong:

motorcycles = []
print(motorcycles[-1])

Tidak ada item yang ada di dalam motorcycles, jadi Python akan memberikan index error:

Traceback (most recent call last):
File "motorcyles.py", line 3, in <module>
print(motorcycles[-1])
~~~~~~~~~~~^^^^
IndexError: list index out of range

Jika sebuah index error terjadi dan kamu tidak dapat langsung menemukan solusinya, cobalah mencetak isi list atau cukup mencetak panjang list tersebut. Bisa jadi isi list sangat berbeda dari yang kamu bayangkan, terutama jika list tersebut dikelola secara dinamis oleh program. Melihat isi list yang sebenarnya, atau jumlah item yang tepat di dalam list, sering kali dapat membantu memahami dan memperbaiki kesalahan logika seperti ini.

💻Cobalah Sendiri

3-11. Error yang Disengaja: Jika kamu belum pernah mendapatkan index error di salah satu program kamu, cobalah untuk membuatnya terjadi secara sengaja. Ubah sebuah index di salah satu program kamu hingga menghasilkan index error. Pastikan kamu memperbaiki error tersebut sebelum menutup program.

Ringkasan

Pada bab ini, kamu telah mempelajari apa itu list dan bagaimana bekerja dengan item-item di dalamnya. Kamu belajar cara membuat sebuah list serta cara menambahkan dan menghapus elemen. Kamu juga mempelajari cara mengurutkan list secara permanen maupun sementara untuk keperluan tampilan. Selain itu, kamu mempelajari cara mengetahui panjang sebuah list dan cara menghindari index error saat bekerja dengan list.

Pada Bab 4, kamu akan mempelajari cara bekerja dengan item-item di dalam list secara lebih efisien. Dengan melakukan perulangan (looping) melalui setiap item dalam sebuah list hanya dengan beberapa baris kode, kamu akan dapat bekerja secara efisien, bahkan ketika list kamu berisi ribuan atau jutaan data.