List atau daftar adalah salah satu struktur data paling fundamental dan sering digunakan dalam bahasa pemrograman Python. List bersifat mutable (dapat diubah), yang berarti Anda dapat menambah, menghapus, atau memodifikasi elemen setelah list dibuat. Ini membuatnya sangat fleksibel untuk menyimpan koleksi item yang berurutan.
Artikel ini akan memandu Anda langkah demi langkah tentang cara membuat, mengakses, memanipulasi, dan menggunakan list di Python, dengan fokus pada praktik terbaik untuk pengembangan web responsif.
1. Cara Membuat List di Python
Membuat list di Python sangatlah mudah. Anda hanya perlu menempatkan elemen-elemen yang dipisahkan koma di dalam kurung siku [].
A. List Kosong
List kosong berguna ketika Anda perlu menginisialisasi wadah data yang akan diisi nanti (misalnya, dalam sebuah perulangan).
my_list_kosong = []
print(type(my_list_kosong))
# Output: <class 'list'>
B. List dengan Elemen
List dapat menampung berbagai tipe data secara bersamaan, termasuk integer, string, float, atau bahkan list lain (list bersarang).
buah = ["Apel", "Pisang", "Jeruk", "Mangga"]
data_campuran = [10, "Python", 3.14, True]
list_bersarang = [1, [2, 3], "akhir"]
print(buah)
print(data_campuran)
C. Membuat List Menggunakan Konstruktor list()
Anda juga bisa menggunakan fungsi bawaan list() untuk membuat list dari iterable lain, seperti tuple, string, atau range.
# Dari string (setiap karakter menjadi elemen)
list_dari_string = list("Halo")
print(list_dari_string)
# Output: ['H', 'a', 'l', 'o']
# Dari range
list_angka = list(range(5))
print(list_angka)
# Output: [0, 1, 2, 3, 4]
[0] * 5 akan menghasilkan [0, 0, 0, 0, 0].
2. Mengakses Elemen List (Indexing)
Elemen dalam list diakses menggunakan indeks, dimulai dari 0 untuk elemen pertama. Python juga mendukung pengindeksan negatif, di mana -1 merujuk pada elemen terakhir.
program_bahasa = ["Python", "Java", "C++", "JavaScript"]
# Mengakses elemen pertama (indeks 0)
print(program_bahasa[0]) # Output: Python
# Mengakses elemen terakhir (indeks -1)
print(program_bahasa[-1]) # Output: JavaScript
# Slicing (mengambil sebagian list)
sub_list = program_bahasa[1:3] # Dari indeks 1 sampai sebelum 3
print(sub_list) # Output: ['Java', 'C++']
3. Memodifikasi List
Karena list bersifat mutable, Anda dapat mengubah isinya dengan menargetkan indeks tertentu.
warna = ["merah", "hijau", "biru"]
print(f"Sebelum diubah: {warna}")
# Mengubah elemen di indeks 1
warna[1] = "kuning"
print(f"Setelah diubah: {warna}")
# Output: ['merah', 'kuning', 'biru']
4. Metode Penting untuk Manipulasi List
Python menyediakan banyak metode bawaan untuk bekerja secara efisien dengan list.
Menambah Elemen
append(item): Menambahkan item ke akhir list.insert(index, item): Menambahkan item pada posisi indeks tertentu.extend(iterable): Menambahkan elemen dari iterable lain (misalnya list lain) ke akhir list saat ini.
data = [1, 2]
data.append(3) # [1, 2, 3]
data.insert(0, 0) # [0, 1, 2, 3]
data.extend([4, 5]) # [0, 1, 2, 3, 4, 5]
Menghapus Elemen
remove(value): Menghapus kemunculan pertama dari nilai yang ditentukan.pop(index): Menghapus dan mengembalikan elemen pada indeks yang ditentukan (default: indeks terakhir).del list[index]: Menghapus elemen berdasarkan indeks.
huruf = ['a', 'b', 'c', 'b', 'd']
huruf.remove('b') # Menghapus 'b' pertama -> ['a', 'c', 'b', 'd']
elemen_dihapus = huruf.pop(2) # Menghapus 'b' (indeks 2) -> ['a', 'c', 'd']
del huruf[0] # Menghapus 'a' -> ['c', 'd']
5. List Comprehension: Cara Pintar Membuat List
Untuk membuat list baru berdasarkan list yang sudah ada dengan cepat, list comprehension adalah fitur Python yang sangat kuat dan efisien.
# Membuat list kuadrat dari angka 0 sampai 9
kuadrat = [x**2 for x in range(10)]
print(kuadrat)
# Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# List comprehension dengan kondisi (hanya angka genap)
angka = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
genap = [n for n in angka if n % 2 == 0]
print(genap)
# Output: [2, 4, 6, 8, 10]
Memahami cara membuat list di Python adalah langkah awal yang krusial untuk mengolah data secara terstruktur dalam proyek apa pun, baik itu backend server, analisis data sederhana, atau manajemen sesi pada aplikasi web.