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().

python
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:

text
['apel', 'jeruk', 'mangga', 'pisang', 'anggur']
['Budi', 25, True, 170.5]
[]
[1, 2, 3, 4, 5]
5

Mari kita telaah baris-baris kode di atas:

  1. Baris 1 (buah = ["apel", ...]): interpreter Python membuat satu objek list berisi lima string, lalu mengikat variabel buah ke objek tersebut.
  2. 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.
  3. Baris 4 (angka = list(range(1, 6))): fungsi list() membangun list baru dari iterable apa pun. range(1, 6) menghasilkan angka 1 sampai 5 karena batas atas tidak ikut dihitung.
  4. Baris 10 (print(len(buah))): fungsi len() menghitung jumlah elemen di dalam buah, hasilnya 5.

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.

python
buah = ["apel", "jeruk", "mangga", "pisang", "anggur"]

print(buah[0])
print(buah[4])
print(buah[-1])
print(buah[-2])

Output yang Dihasilkan:

text
apel
anggur
anggur
pisang

Pemetaan posisi setiap elemen pada list buah tampak seperti ini:

Posisi01234
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.

python
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:

text
['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.

python
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:

text
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:

MethodPeranContoh
append(x)menambah satu elemen di akhirtugas.append("makan")
insert(i, x)menyisip elemen di indeks itugas.insert(0, "sarapan")
extend(iterable)menggabungkan banyak elementugas.extend(["a", "b"])
remove(x)menghapus kemunculan pertama nilai xtugas.remove("makan")
pop(i)menghapus elemen indeks i dan mengembalikannyatugas.pop()
sort()mengurutkan di tempatnilai.sort()
reverse()membalik urutan di tempatnilai.reverse()
index(x)mencari indeks kemunculan pertama xbuah.index("jeruk")
count(x)menghitung jumlah kemunculan xbuah.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.