You are on page 1of 9

List dan Array

List

list digunakan untuk menyimpan beberapa nilai dalam satu variabel

In [26]:

#list berisi bil bulat


a = [1,2,3,4,5]

#list berisi float


b = [3.15,6.321,321]

#list berisi string


c = ["Rumah","Ayam","Kambing","Sate"]

#list berisi elemen campur


d = ["Saya",3.14,9]

mengambil elemen dari list

In [27]:

print(a[0])
print(b[2])
print(c[1])
print(d[0])

1
321
Ayam
Saya

Modifikasi elemen pada suatu list

In [28]:
print(a)
a[1] = "komputer"
print(a)

[1, 2, 3, 4, 5]
[1, 'komputer', 3, 4, 5]

Length/panjang dari list

In [29]:
print(len(a))
print(len(b))
len(c)

5
3

Out[29]:
4

bisa untuk mengiterasi suatu loop


In [30]:

print(a)
for i in a:
print(i)

[1, 'komputer', 3, 4, 5]
1
komputer
3
4
5

gunakan append untuk menambahkan elemen pada list

In [31]:

print(a)
a.append("makan")
print(a)

[1, 'komputer', 3, 4, 5]
[1, 'komputer', 3, 4, 5, 'makan']

bisa menggunakan for loop untuk membuat suatu list

In [40]:
e = []
for i in range(4):
e.append(i)
print(e)

[0, 1, 2, 3]

Atau bisa dengan sintaks yang lebih singkat

In [41]:

f=[i for i in range(10)]


print(f)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Gunakan insert jika ingin memasukan elemen pada list pada urutan tertentu

In [32]:
print(a)
a.insert(2, 3.14)
print(a)

[1, 'komputer', 3, 4, 5, 'makan']


[1, 'komputer', 3.14, 3, 4, 5, 'makan']

Penjumlahan antara list

In [8]:
x = [[1,"sapi",3],4]
y = [3.14,2,"Ayam"]
print(x)
print(y)
x+y
[[1, 'sapi', 3], 4]
[3.14, 2, 'Ayam']

Out[8]:
[[1, 'sapi', 3], 4, 3.14, 2, 'Ayam']

pop(i) dapat digunakan untuk menghilangkan suatu elemen ke-i dari list

In [22]:
a = [1,2,3,1]
a.pop(1)
print(a)

[1, 3, 1]

remove(x) dapat digunakan untuk menghilangkan elemen bernilai x pada list

In [23]:

print(a)
a.remove(1)
print(a)

[1, 3, 1]
[3, 1]

Perhatikan hanya elemen pertama yg hilang, remove(x) hanya menghilangkan elemen bernilai x dengan indeks terkecil

Clear dapat digunakan untuk menghilangkan suatu list

In [24]:

print(a)
a.clear()
print(a)

[3, 1]
[]

copy dapat digunakan untuk mengkopi suatu list

In [25]:
print(a)
print(b)
a = b.copy()
print(a)

[]
[3.15, 6.321, 321]
[3.15, 6.321, 321]

count dapat digunakan menghitung banyak elemen suatu nilai pada list

In [33]:
a = [1,3,4,1,2,1]
a.count(1)

Out[33]:
3
3

index dapat digunakan untuk mencari elmen pertama untuk suatu nilai tertentu

In [34]:
a.index(4)

Out[34]:
2

dengan menulis a.index(x,n) akan dilihat elemen x pertama setelah index ke n

In [35]:
a.index(1,2)

Out[35]:
3

Menslice list

mengambil elemen ke 0 hingga n-1

In [49]:
a = [-2,3.14,4,"saya"]
a[:2]

Out[49]:
[-2, 3.14]

mengambil elemen ke n hingga akhir

In [50]:
a[1:]

Out[50]:

[3.14, 4, 'saya']

mengambil elemen dari n hingga m-1

In [51]:
a[1:3]

Out[51]:
[3.14, 4]

List berisi list

In [55]:
c = [ [1,3,2] , [2,3,"Kambing"] , [4,2,"ayam"] ]
print(c)

[[1, 3, 2], [2, 3, 'Kambing'], [4, 2, 'ayam']]


In [58]:
print(c[0])

print(c[1])

print(c[1][2])

[1, 3, 2]
[2, 3, 'Kambing']
Kambing

Ukuran tidak harus sama

In [3]:
d = [[1,"Sapi",3,4],["Ayam",4.31],3.22]
print(d[0])

print(d[1][0])

print(d[2])

[1, 'Sapi', 3, 4]
Ayam
3.22

List tidak dapat digunakan untuk operasi perkalian skalar vektor atau perjumlahan vektor

In [36]:
print(a)

[1, 3, 4, 1, 2, 1]

In [37]:
1/4*a

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-37-075f985aeaef> in <module>
----> 1 1/4*a

TypeError: can't multiply sequence by non-int of type 'float'

Array

Memiliki operasi yang sama dengan list, tetapi bisa digunakan untuk perkalian skalar vektor dan penjumlahan vektor

In [42]:
import numpy as np
x = np.array([1,2,3])

In [46]:
1/4*x

Out[46]:
array([0.25, 0.5 , 0.75])
In [43]:
y = np.array([1,1,1])
x+y

Out[43]:
array([2, 3, 4])

Dimensi antara dua vektor harus sama kalau tidak penjumlahan error

In [44]:
y = np.array([1,1])
x+y

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-44-67c0f54474b3> in <module>
1 y = np.array([1,1])
----> 2 x+y

ValueError: operands could not be broadcast together with shapes (3,) (2,)

Perkalian skalar dan penjumlahan tidak bisa dilakukan jika ada elemen dari vektor yg bukan float atau int

In [45]:
z = np.array([1,2,3,"kambing"])
print(1/4*z)

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-45-2bb8f6b2d3d6> in <module>
1 z = np.array([1,2,3,"kambing"])
----> 2 print(1/4*z)

TypeError: ufunc 'multiply' did not contain a loop with signature matching types dtype('<U32') dty
pe('<U32') dtype('<U32')

Perkalian dot product

In [46]:

x = [1,2,3]
y = [2,2,4]
np.dot(x,y)

Out[46]:

18

Operasi pada array yang juga ada di list

In [41]:

#memanggil elemen pada array


print(a)
print(a[1])

#modifikasi elemen array

#length dari array

[list([1, 2, 3]) list([4, 2, 1]) list([2])]


[4, 2, 1]
In [18]:

x = [1,2,3,4]
#append
print(x)
x = np.append(x,"test")
print(x)

#mendefinisikan array dari loop


y = np.array([])
for i in range(10):
y = np.append(y,i)
print(y)

#dengan sintaks yg lebih padat


z = [i for i in range(10)]
print(z)

#insert
print(x)
x = np.insert(x,1,"Kambing")
print(x)
#dengan sintaks yg lebih padat

[1, 2, 3, 4]
['1' '2' '3' '4' 'test']
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
['1' '2' '3' '4' 'test']
['1' 'Kambing' '2' '3' '4' 'test']

In [21]:

#delete (sama seperti pop)


print(x)
x = np.delete(x,4)
print(x)

['1' 'Kambing' '2' '3' '4' 'test']


['1' 'Kambing' '2' '3' 'test']

Mendefinisikan array multidimensi

In [24]:
a = np.array( [[1,2,3],[4,2,1],[2]] )
print(a)
print(a[0])
print(a[1][1])

[list([1, 2, 3]) list([4, 2, 1]) list([2])]


[1, 2, 3]
2

Matrix identitas nxn dan matrix 0 mxn

In [57]:
print(np.identity(4) )
print()
print(np.zeros( (2,3) ))

[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]

[[0. 0. 0.]
[0. 0. 0.]]
[0. 0. 0.]]

cek dimensi dari suatu array

In [58]:

b = np.array([1,2,3])
print(b.shape)

#matrix identitas 3x3


c = np.identity(3)
c.shape

(3,)

Out[58]:
(3, 3)

Dimensi dari array yg memiliki jumlah kolom yg berbeda tiap barisnya

In [40]:

print(a)
a.shape

[list([1, 2, 3]) list([4, 2, 1]) list([2])]

Out[40]:
(3,)

Menslice array sama dengan list

In [61]:
d = np.identity(4)
print(d)
print()
d[1:3,1:3]

[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]

Out[61]:

array([[1., 0.],
[0., 1.]])

In [62]:

d[:3,2:]

Out[62]:

array([[0., 0.],
[0., 0.],
[1., 0.]])

contoh algoritma pencarian nilai maksimum pada array


In [3]:
import numpy as np
A = np.array(eval(input('array berisi float A: ')),dtype = float)

def carimaks(b):
maks = 0
for i in range(len(A)):
if A[maks]<= A[i]:
maks = i
return "nilai maksimumnya adalah {0} pada index {1}".format(A[maks],maks)

carimaks(A)

array berisi float A: [1,3,4,6,2,5,3,1,5,2,-12,32,9,4,12,31,4,10,-2]

Out[3]:
'nilai maksimumnya adalah 32.0 pada index 11'

Pencarian string tertentu pada array


In [36]:

s = input("masukan string yang akan dicari : \n")


b = eval(input("masukan list berisi string : \n"))

def caristring(x,c):
for i in range(len(c)):
if c[i] == x:
return "string {0} ada pada index {1}".format(x,i)
return "string {0} tidak ada pada array".format(x)

caristring(s,b)

masukan string yang akan dicari :


kaki
masukan list berisi string :
["coronavirus","ayam","jakarta","saya","rumah","kaki","sapi","gedung"]

Out[36]:

'string kaki ada pada index 5'

In [ ]:

You might also like