List
Koleksi berurutan yang bisa diubah: membuat, mengakses, mengubah, dan mengurutkan.
List
List adalah koleksi berurutan dan bisa diubah (mutable). Isinya boleh campuran tipe.
buah = ["apel", "jeruk", "mangga"]
campur = [1, "dua", 3.0, True, [4, 5]]
kosong = []
Mengakses elemen
print(buah[0]) # apel
print(buah[-1]) # mangga
print(buah[0:2]) # ['apel', 'jeruk']
print(len(buah)) # 3
Mengakses index di luar jangkauan (buah[10]) → IndexError.
Mengubah isi
buah[1] = "pir" # ganti elemen
buah.append("kiwi") # tambah di akhir
buah.insert(0, "anggur") # sisip di index 0
buah.extend(["lemon", "pepaya"]) # tambah banyak
Menghapus
buah.pop() # ambil & hapus elemen terakhir
buah.pop(0) # ... atau pada index tertentu
buah.remove("pir") # hapus berdasarkan nilai (yang pertama)
del buah[0] # hapus berdasarkan index
buah.clear() # kosongkan
Mencari dan menghitung
angka = [4, 8, 15, 16, 23, 42]
print(15 in angka) # True
print(angka.index(16)) # 3
print(angka.count(8)) # 1
print(sum(angka), min(angka), max(angka))
Mengurutkan
nilai = [70, 95, 80]
nilai.sort() # mengubah list asli: [70, 80, 95]
nilai.sort(reverse=True) # menurun
terurut = sorted(nilai) # salinan baru; list asli tetap
nilai.reverse() # membalik urutan di tempat
Rata-rata dengan fungsi bawaan
rata = sum(nilai) / len(nilai)
print(round(rata, 2))
Awas: list adalah objek yang dibagi!
a = [1, 2, 3]
b = a # b menunjuk ke list yang SAMA
b.append(4)
print(a) # [1, 2, 3, 4] ← a ikut berubah!
c = a.copy() # salinan sungguhan (atau a[:] atau list(a))
Untuk list di dalam list (bersarang), gunakan copy.deepcopy.
List bersarang (matriks)
matriks = [[1, 2, 3], [4, 5, 6]]
print(matriks[1][2]) # 6
Operasi lain
- Penggabungan:
[1, 2] + [3]→[1, 2, 3]; pengulangan:[0] * 5. - Unpacking:
pertama, *sisa = [1, 2, 3, 4]→pertama=1,sisa=[2,3,4]. - Banyak operasi list memiliki kompleksitas berbeda:
appendcepat,insert(0, x)lambat untuk list besar.