22. List
Sebuah list adalah salah satu struktur data bawaan Python. List menyimpan urutan nilai — angka, string, boolean, atau campuran — dan memungkinkan kamu menambah, menghapus, dan menyusun ulang item dengan bebas.
Membuat list
Literal list menggunakan tanda kurung siku dengan koma di antara nilai-nilainya:
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # apple
print(fruits[1]) # banana
print(fruits[2]) # cherryPenting: list Python diindeks dari 0. Item pertama
ada di posisi 0, bukan 1. Ini berbeda dari
cara kita menghitung dalam kehidupan sehari-hari, jadi hampir semua
pemula tersandung hal ini setidaknya sekali.
fruits[0]adalah"apple"— item pertama.fruits[1]adalah"banana"— item kedua.fruits[2]adalah"cherry"— item ketiga.
List dengan tiga item memiliki posisi valid 0,
1, dan 2. Posisi 3 tidak ada dan
akan memunculkan IndexError.
Panjang dengan len
len(t) mengembalikan jumlah item dalam list:
fruits = ["apple", "banana", "cherry"]
print(len(fruits)) # 3
print(fruits[len(fruits) - 1]) # cherry (the last one)Karena indeks valid terakhir selalu len(t) - 1, Python
menyediakan pintasan: indeks negatif menghitung dari belakang.
t[-1] selalu merupakan item terakhir:
print(fruits[-1]) # cherry
print(fruits[-2]) # bananaMelakukan loop pada list
Dua cara alami untuk menelusuri list.
Loop for
Loop paling sederhana memberikan setiap nilai secara berurutan:
for item in fruits:
print(item)Output:
apple
banana
cherry
enumerate —
indeks dan nilai sekaligus
Ketika kamu juga butuh posisinya, gunakan enumerate.
Secara default penghitungan dimulai dari 0:
for index, value in enumerate(fruits):
print(index, value)Output:
0 apple
1 banana
2 cherry
Jika kamu ingin nomor tampilan berbasis 1 (untuk output yang dilihat pengguna), berikan argumen start:
for index, value in enumerate(fruits, 1):
print(f"{index}. {value}")Output:
1. apple
2. banana
3. cherry
Buka exercises/22/01-list-loop.py. Tambahkan buah
keempat dan jalankan ulang. Baik len(fruits) maupun loop
harus menyesuaikan diri secara otomatis.
Menambah dan menghapus item
Tambahkan ke akhir dengan .append:
fruits = ["apple", "banana"]
fruits.append("cherry") # add to the end
print(fruits[-1]) # cherry.insert(i, value) menyisipkan di posisi i
dan menggeser item berikutnya ke kanan. Ingat: posisi berbasis 0, jadi
posisi 0 adalah awal sekali:
fruits.insert(0, "apricot") # new first item
print(fruits[0]) # apricot
print(fruits[1]) # apple (shifted from 0 to 1).pop() menghapus dan mengembalikan item terakhir.
.pop(i) menghapus posisi i:
fruits.pop() # removes the last item
fruits.pop(0) # removes the first itemJangan set slot ke None (fruits[1] = None)
untuk "menghapus" item. Itu mengganti nilainya dengan None
tapi slot-nya tetap ada, meninggalkan lubang di list kamu. Gunakan
.pop(i) atau del fruits[i] untuk menghapus
slot secara bersih.
List diteruskan by reference
List berperilaku berbeda dari angka dan string dalam satu hal penting: menugaskan list ke variable lain tidak membuat salinan.
a = [1, 2, 3]
b = a # b refers to the SAME list
b[0] = 99
print(a[0]) # 99 (the change shows through a too)Baik a maupun b merujuk ke satu list yang
sama. Untuk salinan nyata, gunakan .copy() atau slice
a[:]:
c = a.copy()
c[0] = 0
print(a[0]) # 99 (a is unchanged)Pekerjaan Rumah
Soal 1 — Game favorit
Buka exercises/22/homework/01-favourite-games.py. Buat
list berisi lima nama game. Dengan loop
for ... in enumerate(..., 1):, cetak masing-masing sebagai
1. Roblox, 2. Minecraft, dan seterusnya.
Soal 2 — Jumlahkan list
Buka exercises/22/homework/02-sum-list.py. Sebuah list
angka sudah dideklarasikan di bagian atas. Hitung dan cetak jumlah
totalnya.
Soal 3 — Sisipkan dan hapus
Buka exercises/22/homework/03-insert-remove.py. Starter
berisi sebuah list pendek. Lakukan empat hal, cetak seluruh list setelah
setiap langkah:
- Tambahkan item baru ke akhir.
- Sisipkan item lain di posisi 0.
- Hapus item terakhir.
- Hapus item di posisi 1.
Tantangan — Balik list
Buka exercises/22/homework/04-reverse.py. Definisikan
function reverse(lst) yang mengembalikan list baru
dengan item yang dibalik, tanpa mengubah list aslinya. Uji pada list
string dan cetak sebelum dan sesudahnya.
Bingung atau sudah selesai? Buka halaman solusi pekerjaan rumah.