List & tuple adalah tipe data yang mirip Array
di JavaScript. List seperti Array
biasa. Kita bisa nambah elemen & ngapus elemen. Tuple adalah list yang konstan, kalo udah dibuat nggak bisa diubah-ubah lagi. List & tuple bisa dikombinasi. List bisa berisi tuple & sebaliknya.
Untuk bikin list kita pake notasi [ ]
. Untuk tuple kita pake ( )
.
mylist = [ 1, 2, 3 ]
mytuple = ( 4, 5, 6 )
Elemen-elemen dalam list & tuple bisa diakses lewat nomer indeksnya, sama kayak Array
. Tapi indeksnya ga harus positif, bisa juga negatif. Kalo negatif berarti itu indeks dihitung dari belakang, -1
berarti elemen paling belakang.
mylist[-1] #3
mytuple[-2] #5
Operasi Dasar
Karena list adalah sebuah deretan nilai, dia punya beberapa fungsi yang sama dengan String
.
Untuk ngecek panjang list / tuple, kita pake len()
.
print(len([ 'a', 'b', 'c' ]))
#output
3
List & tuple juga bisa dikonkatenasi ( digabung ) mirip string. Operatornya sama, +
. Tapi list hanya bisa digabung dengan list, tuple dengan tuple. Ga bisa dicampur.
mylist = ['a','b','c','d']
mylist2 = ['e', 'f']
mytuple = ('x', 'y', 'z')
mytuple2 = ('s', 't', 'u')
print(mylist + mylist2)
print(mytuple + mytuple2)
# output
['a', 'b', 'c', 'd', 'e', 'f']
('x', 'y', 'z', 's', 't', 'u')
Keduanya juga mendukung repetisi.
mylist = ['a', 'b', 'c']
print(mylist * 3)
# output
['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
Iterasi
Untuk jalanin iterasi atas elemen-elemen list & tuple, kita pake for-loop
.
mylist = [ 1, 2, 3 ]
for el in mylist:
print(el)
# output
1
2
3
Kalo kita perlu nomor indeksnya juga, nggak hanya nilainya, kita pake fungsi enumerate()
.
mylist = [ 1, 2, 3]
for index, el in enumerate(mylist):
print(index, el)
#output
0 1
1 2
2 3
Unpacking
Kalo di JavaScript ada destructuring, di Python ada yang disebut unpacking.
mylist = [ 1, 2, 3, ('hello', 'world')]
a,b,c,d = mylist
print(a)
print(b)
print(c)
print(d)
# output
1
2
3
('hello', 'world')
Kalo jumlah variabelnya kebanyakan, bakal ada ValueError
.
mylist = [ 1, 2, 3, ('hello', 'world')]
a,b,c,d,e = mylist
# output
ValueError: not enough values to unpack (expected 5, got 4)
Slicing
Khusus untuk list, kita bisa bikin slice. Slice di Python mirip sama splice()
yang ada di JavaScript. Untuk operasi slice, kita tentuin dua parameter:
1. Dua indeks [a:b]
. Yang diganti nanti mulai indeks a
sampe indeks b-1
. Kalo parameter b
nggak ditentuin, yang diganti nantinya elemen dari indeks a
sampe indeks terakhir.
2. Elemen baru yang dimasukin. Bisa list kosong, kalo kita cuma mau menghapus elemen.
mylist = ['a', 'b', 'c']
# hapus elemen dari indeks 0 sampe indeks 1
# nggak ada elemen baru yang dimasukin
mylist[0:2] = []
print(mylist)
# output
['c']
Contoh di bawah ini untuk ganti elemen di list dengan elemen baru.
mylist = ['a', 'b', 'c', 'd', 'e']
# hapus elemen dari indeks 1 sampe indeks 2
# masukin elemen baru ke bagian yang udah dihapus
mylist[1:3] = ['x','y','z']
print(mylist)
# output
['a', 'x', 'y', 'z', 'd', 'e']
Kalo digambarin, kode di atas kurang lebih begini:
Kode di bawah mengganti semua elemen dari indeks 1 sampe yang terakhir.
mylist = ['a', 'b', 'c', 'd', 'e']
mylist[1:] = ['x','y','z']
print(mylist)
# output
['a', 'x', 'y', 'z']
Kode di bawah mengganti semua elemen kecuali yang terakhir.
mylist = ['a', 'b', 'c', 'd', 'e']
mylist[:-1] = ['x','y','z']
print(mylist)
# output
[ 'x', 'y', 'z', 'e']
Operasi List yang Lain
Menghapus elemen
Selain pake metode slicing, kita bisa menghapus elemen pake fungsi del()
.
mylist = ['a', 'b', 'c','d','e']
# hapus elemen di indeks 1 - 3
del(mylist[1:4])
print(mylist)
# output
['a', 'e']
del
bisa juga dijalanin tanpa kurung. Kode di atas bisa juga ditulis: del mylist[3]
.
Membuat Duplikat (Kopi)
Untuk bikin duplikat list kita pake fungsi copy()
. Fungsi ini juga tersedia untuk tuple.
mylist = ['a', 'b', 'c','d','e']
mylistcopy = mylist.copy()
print(mylist)
print(mylistcopy)
print(mylist is mylistcopy)
# output
['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e']
False
Kalo mau menghapus semua elemen, kita bisa pake cara slicing atau pake fungsi clear()
.
mylist = ['a', 'b', 'c','d','e']
# hapus semua elemen metode slicing
del mylist[:]
# sama dengan
mylist.clear()
print(mylist)
# output
[]
Menghitung elemen
Fungsi count()
bisa kita pake untuk mencari ada berapa suatu objek/nilai dalam sebuah list. Fungsi ini juga tersedia untuk tuple.
mylist = ['a', 'b', 'c', 'd', 'e', 'b', 'b']
print(mylist.count('b'))
#output
3
Masukin Elemen Baru
Di JavaScript kita pake push()
& shift()
untuk masukin elemen baru di belakang atau di depan Array
, di Python kita pake append()
& insert()
.
mylist = ['a', 'b', 'c','d','e']
# push di JS
mylist.append(100)
# shift di JS
mylist.insert(0, 234)
# splice(2,0,999) di JS
mylist.insert(2,999)
print(mylist)
# output
[234, 'a', 999, 'b', 'c', 'd', 'e', 100]
Ngeluarin Elemen
Di JavaScript kita pake pop()
, unshift()
, atau splice()
untuk ngeluarin elemen dari Array
. Di sini kita hanya perlu pake pop()
.
mylist = ['a', 'b', 'c','d','e']
# sama dengan pop di JS
val = mylist.pop()
print(val)
print(mylist)
# output
e
['a', 'b', 'c', 'd']
# unshift di JS
val = mylist.pop(0)
print(val)
print(mylist)
# output
a
['b', 'c', 'd']
# splice(1,1) di JS
val = mylist.pop(1)
print(val)
print(mylist)
#output
c
['b', 'd']
Sekian dulu. Kapan-kapan lanjut lagi.
Also in this category ...
- » Website Baru
- » Global Dot di NodeJS
- » Compound Component
- » Membuat Public API di Komponen React dengan useImperativeHandle
- » useContext untuk Global State