Ticker

6/random/ticker-posts

04-Lists-checkpoint

Python Lists: Terjemahan, Penjelasan & Cheatsheet (Bahasa Indonesia)

Lists di Python — Terjemahan, Penjelasan & Cheatsheet

Materi ini membahas konsep sequence, pembuatan list, indexing & slicing, metode dasar, nesting, hingga pengenalan list comprehensions.

Pendahuluan: Lists di Python

Sebelumnya saat membahas string kita memperkenalkan konsep sequence (urutan) di Python. List dapat dianggap sebagai bentuk sequence yang paling umum di Python. Berbeda dengan string, list itu mutable (bisa diubah), artinya elemen di dalam list dapat diganti!

Di bagian ini kita akan mempelajari:

  • Membuat list
  • Indexing dan Slicing pada list
  • Metode-metode dasar list
  • Nesting list (list di dalam list)
  • Pengenalan List Comprehensions

List dibuat dengan tanda kurung siku [] dan elemen-elemen dipisahkan oleh koma.

# Menetapkan sebuah list ke variabel bernama my_list
my_list = [1, 2, 3]

Kita baru saja membuat list berisi bilangan bulat (integer), tetapi list sebenarnya dapat menampung berbagai tipe objek yang berbeda. Contohnya:

my_list = ['Sebuah string', 23, 100.232, 'o']

Sama seperti string, fungsi len() akan memberi tahu berapa banyak item di dalam sequence (urutan) sebuah list.

len(my_list)

Indexing & Slicing

Indexing dan slicing bekerja sama seperti pada string. Mari buat list baru untuk mengingat cara kerjanya:

my_list = ['one', 'two', 'three', 4, 5]

# Ambil elemen pada indeks 0
my_list[0]

# Ambil indeks 1 hingga akhir
my_list[1:]

# Ambil semua elemen HINGGA indeks 3 (tidak termasuk 3)
my_list[:3]

Kita juga bisa menggunakan + untuk menggabungkan list, seperti pada string.

my_list + ['item baru']
Catatan: Operasi di atas tidak mengubah list asli. Lakukan reassign agar perubahan bersifat permanen.
# Reassign
my_list = my_list + ['tambah item baru secara permanen']

my_list

Kita juga dapat menggunakan * untuk menduplikasi list (mirip string):

# Gandakan isi list
my_list * 2

# Penggandaan lagi tidak permanen terhadap variabel semula
my_list

Metode Dasar List

List di Python fleksibel: tidak punya ukuran tetap dan tidak punya batasan tipe tetap.

# Buat list baru
list1 = [1, 2, 3]

# Tambahkan elemen ke akhir list (permanen)
list1.append('append me!')

# Tampilkan
list1

Gunakan pop untuk menghapus & mengembalikan item. Default-nya adalah indeks terakhir, tetapi bisa juga menentukan indeks tertentu.

# Pop elemen berindeks 0
list1.pop(0)

# Tampilkan
list1

# Simpan elemen yang dipop; default indeks yang dipop adalah -1 (terakhir)
popped_item = list1.pop()
popped_item

# Tampilkan sisa list
list1
Perhatian: list1[100] akan memunculkan IndexError karena tidak ada elemen pada indeks tersebut.

Gunakan sort dan reverse untuk mengurutkan atau membalik list.

new_list = ['a','e','x','b','c']

# Tampilkan
new_list

# Balik urutan (permanen)
new_list.reverse()
new_list

# Urutkan (huruf: alfabetis, angka: menaik)
new_list.sort()
new_list

Nesting List (List di dalam List)

Python mendukung nesting, yaitu struktur data di dalam struktur data lain (misal list di dalam list).

# Buat beberapa list
lst_1 = [1, 2, 3]
lst_2 = [4, 5, 6]
lst_3 = [7, 8, 9]
buah  = ['apel','mangga','jeruk']
sayur = ['bayem','toge','asem']
bumbu = ['sambal','royko','garam']

# Gabungkan menjadi "matrix" (list of lists)
matrix = [lst_1, lst_2, lst_3, buah, bumbu, sayur]

# Tampilkan
matrix

# Akses 2 tingkat
matrix[0]      # item pertama (sebuah list)
matrix[0][0]   # item pertama dari list pertama

Pengenalan List Comprehensions

List comprehension memudahkan pembuatan list secara ringkas. (Kita akan bahas mendalam di bagian lain.)

# Ambil elemen pertama dari setiap "baris" di matrix
first_col = [row[0] for row in matrix]
first_col

Penjelasan Tambahan & Catatan Penting

  • Mutable vs Immutable: List mutable; string & tuple immutable.
  • append vs gabung (+): append(x) menambah satu elemen (in-place). a + [x] membuat list baru (butuh reassign).
  • sort() vs sorted(): sort() in-place & kembalikan None; sorted(a) kembalikan list baru. Keduanya mendukung key= dan reverse=True.
  • Indeks negatif & slicing: a[-1] elemen terakhir, a[::2] loncat 2, a[::-1] membalik.
  • Campur tipe: Boleh, tapi sorting pada tipe tak-kompatibel akan error.
  • Duplikasi list bersarang: grid = [[0]*3]*3 mengacu ke list yang sama (ubah satu baris, semua ikut). Gunakan [[0]*3 for _ in range(3)] untuk baris independen.
  • Salin list: Shallow copy pakai a[:] atau a.copy(); deep copy pakai copy.deepcopy(a) untuk objek bersarang.

Cheatsheet: Python Lists

Pembuatan & Dasar

a = []                      # list kosong
a = [1, 'teks', 3.14, True] # campur tipe
len(a)                      # jumlah elemen

Akses, Slice, Langkah

a[i]            # indeks ke-i (0-based), a[-1] elemen terakhir
a[i:j]          # dari i s.d. j-1
a[:j], a[i:], a[:]  # variasi slice
a[i:j:k]        # langkah k, a[::-1] membalik

Gabung & Duplikasi

a + b           # gabung (buat list baru)
a * 3           # duplikasi isi

Mutasi (In-place)

a.append(x)             # tambah 1 elemen di akhir
a.extend(iterable)      # tambah banyak elemen
a.insert(i, x)          # sisip di indeks i
a.remove(x)             # hapus elemen pertama yang == x (ValueError jika tak ada)
x = a.pop()             # hapus & kembalikan elemen terakhir
x = a.pop(i)            # hapus & kembalikan elemen pada indeks i
a.clear()               # kosongkan list
a[i] = x                # ganti elemen pada indeks i
a[i:j] = [..]           # ganti slice

Pencarian & Hitung

a.index(x)      # indeks pertama x (ValueError jika tak ada)
a.count(x)      # jumlah kemunculan x
x in a          # keanggotaan (True/False)

Urut & Balik

a.sort()                        # urut in-place (mengembalikan None)
a.sort(reverse=True)            # urut menurun
a.sort(key=str.lower)           # urut dengan kunci
b = sorted(a)                   # versi terurut baru
b = sorted(a, key=len)          # terurut berdasarkan panjang
a.reverse()                     # balik in-place
b = list(reversed(a))           # versi dibalik baru

Salin

b = a.copy()        # shallow copy
b = a[:]            # shallow copy (slice)

import copy
b = copy.deepcopy(a)  # deep copy

Fungsi Bawaan yang Berguna

min(a), max(a), sum(a)      # untuk elemen numerik
list(range(5))              # [0,1,2,3,4]
any(a), all(a)              # logika atas nilai boolean

Iterasi & Utilitas

for i, x in enumerate(a):   # dapatkan indeks & nilai
    ...

for x, y in zip(a, b):      # iterasi berpasangan
    ...

List Comprehension (LC)

# Bentuk dasar
b = [expr for x in iterable]

# Dengan kondisi
b = [x for x in a if x % 2 == 0]

# Transformasi
squares = [x*x for x in range(10)]

# Matrix/2D
grid = [[0]*3 for _ in range(3)]
first_col = [row[0] for row in grid]

# Flatten 2D
flat = [x for row in grid for x in row]

Contoh Matrix & Akses Bersarang

matrix = [
    [1,2,3],
    [4,5,6],
    [7,8,9],
]
matrix[0]      # [1,2,3]
matrix[0][0]   # 1
col0 = [r[0] for r in matrix]  # [1,4,7]

© 2025 — Materi Python Lists (Bahasa Indonesia). Bebas digunakan untuk pembelajaran.

Post a Comment

0 Comments