Operasi List Python: Pembuatan, Akses, Modifikasi, dan Teknik Lanjutan
Operasi List Python
List Python adalah salah satu struktur data paling serbaguna dalam bahasa ini, memungkinkan Anda menyimpan, mengatur, dan memanipulasi sekuens nilai secara efisien. Panduan ini mencakup semua yang perlu Anda ketahui—dari membuat dan mengakses elemen list hingga teknik lanjutan seperti slicing, comprehension, dan metode bawaan.
Membuat List Python
Sebuah list dibuat dengan menempatkan elemen di dalam kurung siku [], dipisahkan dengan koma. List dapat berisi sejumlah item apa pun dan mendukung tipe data campuran.
# list of integers
my_list = [1, 2, 3]
Contoh:
# empty list
my_list = []
# mixed data types
my_list = [1, "Hello", 3.4]
List juga dapat berisi list lain, menciptakan struktur bersarang.
# nested list
my_list = ["mouse", [8, 4, 6], ["a"]]
Mengakses Elemen List
Python menawarkan beberapa cara untuk mengakses item.
Pengindeksan
Gunakan operator []. Indeks dimulai dari 0; mencoba mengakses indeks di luar jangkauan akan menghasilkan IndexError, sementara indeks non-bilangan bulat akan menghasilkan TypeError.
my_list = ['p', 'r', 'o', 'b', 'e']
print(my_list[0]) # p
print(my_list[2]) # o
print(my_list[4]) # e
n_list = ["Happy", [2, 0, 1, 5]]
print(n_list[0][1]) # a
print(n_list[1][3]) # 5
print(my_list[4.0]) # TypeError
Output
p o e a 5 Traceback (most recent call last): File "<string>", line 21, in <module> TypeError: list indices must be integers or slices, not float
Indeks Negatif
Indeks negatif dihitung dari akhir list: -1 adalah elemen terakhir, -2 adalah elemen kedua dari akhir, dan seterusnya.
my_list = ['p','r','o','b','e']
print(my_list[-1]) # e
print(my_list[-5]) # p
Output
e p
Slicing List
Slicing mengekstrak rentang item menggunakan operator titik dua :. Indeks awal inklusif; indeks akhir eksklusif.
my_list = ['p','r','o','g','r','a','m','i','z']
print(my_list[2:5]) # ['o', 'g', 'r']
print(my_list[5:]) # ['a', 'm', 'i', 'z']
print(my_list[:]) # full list
Output
['o', 'g', 'r'] ['a', 'm', 'i', 'z'] ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']
Catatan: Slicing mengembalikan list baru; aslinya tetap tidak berubah.
Memodifikasi Elemen List
List bersifat mutable. Anda dapat mengganti satu item atau slice.
odd = [2, 4, 6, 8]
odd[0] = 1
print(odd)
odd[1:4] = [3, 5, 7]
print(odd)
Output
[1, 4, 6, 8] [1, 3, 5, 7]
Tambahkan elemen dengan append() (tunggal) atau extend() (banyak). Gunakan + untuk penggabungan dan * untuk pengulangan.
odd = [1, 3, 5]
odd.append(7)
print(odd)
odd.extend([9, 11, 13])
print(odd)
print(odd + [9, 7, 5])
print(["re"] * 3)
Output
[1, 3, 5, 7] [1, 3, 5, 7, 9, 11, 13] [1, 3, 5, 9, 7, 5] ['re', 're', 're']
Sisipkan elemen pada indeks tertentu dengan insert() atau dengan menetapkan ke slice kosong.
odd = [1, 9]
odd.insert(1, 3)
print(odd)
odd[2:2] = [5, 7]
print(odd)
Output
[1, 3, 9] [1, 3, 5, 7, 9]
Menghapus Elemen List
Gunakan del untuk menghapus item berdasarkan indeks atau slice, atau untuk menghapus seluruh list. remove() menghapus kemunculan pertama dari suatu nilai, pop() menghapus dan mengembalikan elemen berdasarkan indeks (atau elemen terakhir jika tidak ada indeks yang diberikan). clear() mengkosongkan list.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
# delete one item
del my_list[2]
print(my_list)
# delete multiple items
del my_list[1:5]
print(my_list)
# delete the entire list
del my_list
print(my_list) # NameError
Output
['p', 'r', 'b', 'l', 'e', 'm'] ['p', 'm'] Traceback (most recent call last): File "<string>", line 18, in <module> NameError: name 'my_list' is not defined
Penghapusan alternatif melalui assignment slice:
>>> my_list = ['p','r','o','b','l','e','m']
>>> my_list[2:3] = []
>>> my_list
['p', 'r', 'b', 'l', 'e', 'm']
>>> my_list[2:5] = []
>>> my_list
['p', 'r', 'm']
Metode List Umum
| Metode | Deskripsi |
|---|
| append() | Menambahkan elemen di akhir |
| extend() | Menambahkan semua elemen dari iterable lain |
| insert() | Menyisipkan item pada indeks tertentu |
| remove() | Menghapus kemunculan pertama dari suatu nilai |
| pop() | Menghapus dan mengembalikan elemen berdasarkan indeks (atau terakhir) |
| clear() | Mengkosongkan list |
| index() | Mengembalikan indeks pertama dari suatu nilai |
| count() | Menghitung kemunculan suatu nilai |
| sort() | Mengurutkan list secara ascending |
| reverse() | Membalik urutan list |
| copy() | Mengembalikan saluran dangkal |
my_list = [3, 8, 1, 6, 8, 8, 4]
my_list.append('a')
print(my_list)
print(my_list.index(8)) # 1
print(my_list.count(8)) # 3
List Comprehension
List comprehension menyediakan cara ringkas untuk menghasilkan list.
pow2 = [2 ** x for x in range(10)]
print(pow2)
Output
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
Setara dengan:
pow2 = []
for x in range(10):
pow2.append(2 ** x)
Comprehension dapat mencakup beberapa klausa for atau filter if.
>>> pow2 = [2 ** x for x in range(10) if x > 5]
>>> pow2
[64, 128, 256, 512]
>>> odd = [x for x in range(20) if x % 2 == 1]
>>> odd
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x+y for x in ['Python ','C '] for y in ['Language','Programming']]
['Python Language', 'Python Programming', 'C Language', 'C Programming']
Jelajahi lebih banyak di dokumentasi resmi Python.
Operasi List Tambahan
Pengujian Keanggotaan
Periksa apakah suatu nilai ada menggunakan in atau not in.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
print('p' in my_list) # True
print('a' in my_list) # False
print('c' not in my_list) # True
Output
True False True
Melakukan Iterasi Melalui List
Gunakan loop for untuk memproses setiap item.
for fruit in ['apple','banana','mango']:
print("I like", fruit)
Output
I like apple I like banana I like mango