Satu nilai jarang berdiri sendiri. Daftar belanja berisi banyak nama barang, satu kelas berisi banyak nama siswa, dan satu transaksi berisi banyak baris pembelian. List adalah struktur data Python yang dirancang untuk situasi seperti ini: kumpulan nilai yang terurut, bisa diubah setelah dibuat, dan boleh menampung campuran tipe data.
Membuat List #
Cara paling umum membuat list adalah menulis nilai-nilai di antara tanda kurung siku, dipisahkan koma. Kita juga bisa membangun list dari iterable lain dengan fungsi list(), dan mengukur jumlah elemennya dengan fungsi len().
buah = ["apel", "jeruk", "mangga", "pisang", "anggur"]
profil = ["Budi", 25, True, 170.5]
kosong = []
angka = list(range(1, 6))
print(buah)
print(profil)
print(kosong)
print(angka)
print(len(buah))Output yang Dihasilkan:
['apel', 'jeruk', 'mangga', 'pisang', 'anggur']
['Budi', 25, True, 170.5]
[]
[1, 2, 3, 4, 5]
5Mari kita telaah baris-baris kode di atas:
- Baris 1 (
buah = ["apel", ...]): interpreter Python membuat satu objek list berisi lima string, lalu mengikat variabelbuahke objek tersebut. - Baris 2 (
profil = ["Budi", 25, True, 170.5]): satu list boleh menampung string, integer, boolean, dan float secara berdampingan — Python tidak memaksa semua elemen bertipe sama. - Baris 4 (
angka = list(range(1, 6))): fungsilist()membangun list baru dari iterable apa pun.range(1, 6)menghasilkan angka 1 sampai 5 karena batas atas tidak ikut dihitung. - Baris 10 (
print(len(buah))): fungsilen()menghitung jumlah elemen di dalambuah, hasilnya5.
Mengakses Elemen dengan Index #
Setiap elemen list punya posisi bernomor yang disebut index, dimulai dari 0. Python juga menyediakan indeks negatif yang berhitung dari elemen terakhir, sehingga buah[-1] selalu merujuk elemen paling belakang tanpa perlu tahu panjang list-nya.
buah = ["apel", "jeruk", "mangga", "pisang", "anggur"]
print(buah[0])
print(buah[4])
print(buah[-1])
print(buah[-2])Output yang Dihasilkan:
apel
anggur
anggur
pisangPemetaan posisi setiap elemen pada list buah tampak seperti ini:
| Posisi | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| Nilai | "apel" | "jeruk" | "mangga" | "pisang" | "anggur" |
| Indeks negatif | -5 | -4 | -3 | -2 | -1 |
Mengakses indeks di luar jangkauan memicu IndexError; kita akan membedah galat ini lebih detail pada Chapter Menambah, Mengubah, dan Menghapus Elemen.
Menambah Elemen dengan append, insert, dan extend #
List bersifat mutable, artinya isinya bisa bertambah dan berkurang tanpa membuat objek baru. Method append() menambah satu elemen di akhir, insert() menyisipkan pada posisi tertentu, dan extend() menggabungkan banyak elemen sekaligus dari iterable lain.
tugas = ["belajar", "mandi"]
print(tugas)
tugas.append("makan")
print(tugas)
tugas.insert(1, "sarapan")
print(tugas)
tugas.extend(["olahraga", "tidur"])
print(tugas)Output yang Dihasilkan:
['belajar', 'mandi']
['belajar', 'mandi', 'makan']
['belajar', 'sarapan', 'mandi', 'makan']
['belajar', 'sarapan', 'mandi', 'makan', 'olahraga', 'tidur']Perhatikan baris tugas.insert(1, "sarapan"): "sarapan" menempati posisi indeks 1, lalu semua elemen setelahnya bergeser satu langkah ke kanan. Sebaliknya, append() selalu menulis di posisi paling akhir tanpa menggeser elemen lain.
Mengurutkan dengan sorted() dan .sort() #
Python menyediakan dua cara mengurutkan yang sering tertukar oleh pemula. Fungsi sorted() mengembalikan list baru yang sudah terurut dan meninggalkan list asli apa adanya. Method .sort() mengurutkan di tempat (in-place) alias mengubah list aslinya langsung, dan hanya mengembalikan None.
nilai = [80, 95, 70, 90, 85]
baru = sorted(nilai)
print("hasil sorted():", baru)
print("nilai setelah sorted():", nilai)
nilai.sort()
print("nilai setelah .sort():", nilai)
nilai.reverse()
print("nilai setelah .reverse():", nilai)Output yang Dihasilkan:
hasil sorted(): [70, 80, 85, 90, 95]
nilai setelah sorted(): [80, 95, 70, 90, 85]
nilai setelah .sort(): [70, 80, 85, 90, 95]
nilai setelah .reverse(): [95, 90, 85, 80, 70]Baris print("nilai setelah sorted():", nilai) membuktikan isi nilai masih acak setelah pemanggilan sorted() — hanya variabel baru yang terurut. Setelah .sort() dijalankan, nilai berubah menjadi [70, 80, 85, 90, 95] secara permanen. Method .reverse() kemudian membalik urutan elemen tanpa mengurutkan.
Metode List yang Sering Dipakai #
Berikut rangkuman method list yang paling sering muncul dalam kode sehari-hari:
| Method | Peran | Contoh |
|---|---|---|
append(x) | menambah satu elemen di akhir | tugas.append("makan") |
insert(i, x) | menyisip elemen di indeks i | tugas.insert(0, "sarapan") |
extend(iterable) | menggabungkan banyak elemen | tugas.extend(["a", "b"]) |
remove(x) | menghapus kemunculan pertama nilai x | tugas.remove("makan") |
pop(i) | menghapus elemen indeks i dan mengembalikannya | tugas.pop() |
sort() | mengurutkan di tempat | nilai.sort() |
reverse() | membalik urutan di tempat | nilai.reverse() |
index(x) | mencari indeks kemunculan pertama x | buah.index("jeruk") |
count(x) | menghitung jumlah kemunculan x | buah.count("apel") |
Operasi penghapusan elemen (remove, pop, del) punya aturan main yang perlu dipahami terpisah karena masing-masing bekerja dengan cara berbeda. Kita akan bedah ketiganya tuntas pada Chapter Menambah, Mengubah, dan Menghapus Elemen.