Sunday, 29 March 2015

7.1.Slice, dan Matrix pada List

Masih seperti string, List memiliki index dan dapat dipotong. Sedangkan matrik merupakan multidimensi array. 


  1. >>> slist=[1,2,3,4,5,6,7,8,9]
  2. >>> slist[1]
  3. 2
  4. >>> slist[-3]
  5. 7
  6. >>> slist[1:4]
  7. [2, 3, 4]
  8. >>> len(slist)
  9. 9
  10. >>> slist[:5]
  11. [1, 2, 3, 4, 5]
  12. >>> slist[4:]
  13. [5, 6, 7, 8, 9]
  14. >>> 


dan untuk matriknya:


  1. >>> smatrik=[1,2,3],[4,5,6],[7,8,9]
  2. >>> smatrik[1]
  3. [4, 5, 6]
  4. >>> smatrik[1][1]
  5. 5
  6. >>> smatrik[0]
  7. [1, 2, 3]
  8. >>> smatrik[0][0]
  9. 1
  10. >>> len(smatrik)
  11. 3
  12. >>> len(smatrik[1])
  13. 3
  14. >>> smatrik[1][0]
  15. 4
  16. >>> 

dan matrik smatrik untuk lebih jelasnya gambarannya adalah sebagai berikut:


Index 0 1 2

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

Untuk smatrik [0], 
smatrik[0][0] = 1
smatrik[0][1] = 2
smatrik[0][2] = 3

Untuk smatrik [1], 
smatrik[1][0] = 4
smatrik[1][1] = 5
smatrik[1][2] = 6

Untuk smatrik [2], 
smatrik[2][0] = 7
smatrik[2][1] = 8
smatrik[2][2] = 9



List dapat diganti atau dimodifikasi, juga dapat dipotong isi dari list tersebut, kita dapat mengganti list menurut index-nya.

  1. >>> pList=['satu','dua','tiga']
  2. >>> pList
  3. ['satu', 'dua', 'tiga']
  4. >>> pList[0]='tujuh'
  5. >>> pList
  6. ['tujuh', 'dua', 'tiga']
  7. >>> pList[:2]=['5Lima','6enam']
  8. >>> pList
  9. ['5Lima', '6enam', 'tiga']
  10. >>> 


Pada baris ke 4 kita mengganti nilai pList pada index 0, yang semula 'satu' menjadi 'tujuh'.
Dan pada baris ke 7 kita mengganti nilai pList dari index 0 sampai index 1 menjadi '5Lima' dan '6enam'.
Dengan list ini kita juga bisa mensisipi diantara index dalam list.

  1. >>> pList
  2. ['5Lima', '6enam', 'tiga']
  3. >>> pList[1:2]
  4. ['6enam']
  5. >>> pList[1:2]=['2','3']   #mengganti dan mensisipi nilai baru
  6. >>> pList
  7. ['5Lima', '2', '3', 'tiga']
  8. >>> pList[:1]=[]           #menghapus index 0
  9. >>> pList
  10. ['2', '3', 'tiga']
  11. >>> 


Contoh diatas kita mensisipi 2 nilai yang baru pada index 1 (Baris ke 5), yang semula index 1 bernilai '6enam' menjadi '2' ditambah nilai baru yaitu '3', sehingga pList index ke 2 yang awalnya bernilai 'tiga' menjadi '3', dan nilai 'tiga' menjadi index ke 3. 

Bila kita ingin menambahkan nilai-nilai lain dibelakang list, kita bisa mempergunakan list.extend() atau list.append() untuk menambahkan .

  1. >>> pList.extend(['5','6','7','8'])
  2. >>> pList
  3. ['2', '3', 'tiga', '5', '6', '7', '8']
  4. >>> pList.append('10')   
  5. >>> pList
  6. ['2', '3', 'tiga', '5', '6', '7', '8', '10']
  7. >>> 



7.List

List pada Python merupakan kumpulan objek yang teratur. Tidak seperti string, lists bisa memuat objek, yaitu: strings, numbers, juga list yang lain. List juga dapat diubah tempatnya dengan offsets dan slices, yang merupakan metode list itu sendiri. 

Offsets dan slices ini merupakan list.offsets dan list.slices, pada string juga ada slice, tapi slice pada string merupakan str.slice.

Cara yang biasa untuk pengoperasian lists adalah sebagai berikut:

  1. pp= [] sebuah list kosong
  2. pp= ['ab', 'cd', 12, 1.25, 'budi', [ tt, yy, uu ] ] 
  3. pp= list('hallo')
  4. pp= list ( range (-1,5))
Untuk memanipulasinya (misalkan kita punya variable pp=[1,2,3]:
  1. pp[index]
  2. len(pp)
  3. pp*2
  4. for a in pp:print(a)
  5. pp.append(2) #menambahkan angka 2 diakhir list
  6. pp.extend([1,2,3]) #menambahkan baris angka diakhir list
  7. pp.insert(2,50) # mengganti index 2 dengan 50
  8. pp.count(2) #menghitung banyaknya angka 2 pada list
  9. pp.sort() #mensortir dari yang kecil ke besar
  10. pp.reverse() #mensortir dari yang besar ke kecil
  11. p.clear() # menghapus semua isi list
  12. pp.pop(2) # menghapus index 2
  13. pp.remove(3) #menghapus satu angka 7 pada list.
  14. del pp[3]
  15. dan lain-lain

Pada dasarnya penggunaan list mirip dengan string, misalnya:

  1. >>> pp=[1,2,3,4,5,'a','b','c']
  2. >>> len(pp)
  3. 8
  4. >>> pp*2
  5. [1, 2, 3, 4, 5, 'a', 'b', 'c', 1, 2, 3, 4, 5, 'a', 'b', 'c']
  6. >>> pp
  7. [1, 2, 3, 4, 5, 'a', 'b', 'c']
  8. >>> oo=['ii','tt','ff','ss','ee']
  9. >>> pp+oo
  10. [1, 2, 3, 4, 5, 'a', 'b', 'c', 'ii', 'tt', 'ff', 'ss', 'ee']
  11. >>> 2 in pp
  12. True
  13. >>> 2 in oo
  14. False
  15. >>> for x in pp:
  16. print(x, end='*')

  17. 1*2*3*4*5*a*b*c*
  18. >>> 

6.3.4. Format Expression pada Base Dictionary

Format Expression juga bisa mempergunakan dictionary.
  1. >>> dd={'nama':'Budi', 'umur':20}
  2. >>> 'Seorang pria bernama %(nama)s dan berumur %(umur)d'%(dd)
  3. 'Seorang pria bernama Budi dan berumur 20'
  4. >>>
  5. >>> aa='ketika %(nama)s berumur %(umur)d'
  6. >>> aa%dd
  7. 'ketika Budi berumur 20'
  8. >>> 

Kita perhatikan pada baris 2 ( 'Seorang pria bernama %(nama)s dan berumur %(umur)d'%(dd) ). Pada expresinya variablenya ada ditengah-tengah %(variable)s dan %(variable)d

6.3.3.Format Expresi pada String

String formatting expression: 'x %s y'  % (nilai s).
'x %s' x disini adalah variable dan tidak ada nilainya hanya variable saja, dan variable ini akan digantikan dengan nilai x yang ada dibelakangnya % (nilai s). 
  1. >>> 'halo %s pagi' %('selamat')
  2. 'halo selamat pagi'
  3. >>> 
Dan bisa menggunakan lebih dari 1 %s untuk menbuat string.
  1. >>> 'halo %s %s, hari %s %s bukan'%('selamat','pagi', 'yang','indah')
  2. 'halo selamat pagi, hari yang indah bukan'
  3. >>> 
Kita juga bisa menggunakan angka dengan menggunakan %d sebagai indikatornya bila ingin lebih specifik.
  1. >>> '%d hari %d kali sarapan %s'%(1,2,'pagi')
  2. '1 hari 2 kali sarapan pagi'
  3. >>> a='malam'
  4. >>> b='ronda'
  5. >>> c='dingin'
  6. >>> d=10
  7. >>>'%s ini giliran %s,%s ini %s sekali dan baru jam %d' %(a,b,a,c,d)
  8. 'malam ini giliran ronda,malam ini dingin sekali dan baru jam 10'
  9. >>> 
Penggunaan %s juga dapat digunakan untuk menunjukan angka, pada kenyataannya %s dapat digunakan untuk semua type.
  1. >>> '%s, %s, dan %s' % ( 1,2,[ 3.14, 0.254, 7 ] )
  2. '1, 2, dan [3.14, 0.254, 7]'
  3. >>> 
Tipe kode yang dapat digunkan pada string % adalah:

Kode (%)

s
String mengunakan str()
r
String menggunakan repr()
c
Karakter (integer atau string)
d/u
Decimal base 10
i
integer
o
Octa integer
x/X
Hexa integer
e/E
Exponen floating point
f/F
Floating point
g/G
Floating point e/E atau f/F

Secara garis besar stuktur format seperti:

%[(nama)][flags][width][.precision]typecode

Mabokkan lihatnya?
nama adalah nama untuk index dari dictionary yang ada disebelah kanan.
flags adalah spesifikasi dari garis kiri(-), tanda nomor(+), kosong sebelum angka positip dan (-) untuk negatip, dan nol (0).
width adalah minimum panjang text penganti.
precision adalah  menampilkan angka desimal pada floating-point.

Friday, 27 March 2015

6.3.2.Konversi String

Kadang kala kita memerlukan string untuk dijumlahkan, mungkin sekarang belum tahu apa penyebabnya kita memerlukan string untuk dijumlahkan. Dengan python tidak bisa itu (menjumlahkan string dengan angka).
  1. >>> a='15'
  2. >>> a+15
  3. Traceback (most recent call last):
  4.   File "<pyshell#35>", line 1, in <module>
  5.     a+15
  6. TypeError: Can't convert 'int' object to str implicitly
  7. >>> 

Tapi jangan khawatir, python punya solusinya yang mudah.
  1. >>> int(a)+15
  2. 30
  3. >>> 

Begitu juga sebaliknya kita bisa mengkonversikan angka ke string.
  1. >>> b=20           # variable integer b=20
  2. >>> c=str(b)      # variable c = konversi variable int menjadi string
  3. >>> type(c)        # data type var c
  4. <class 'str'>
  5. >>> c
  6. '20'
  7. >>> 

Juga dengan perintah repr() mengkonversikan menjadi string tapi dalam bentuk baku dengan tanda petiknya.
  1. >>> print(str('helloSTR'),repr('helloREPR'))
  2. helloSTR 'helloREPR'
  3. >>> 
contoh lain mengkonversikan data:
  1. >>> str(1.25), float('.0000004')
  2. ('1.25', 4e-07)
  3. >>> 

String pada baris 1 (str(1.25),float('0.0000004')), str(1.25) adalah mengkonversikan float menjadi string, dan float('0.0000004') adalah mengkonversikan string '0.0000004' menjadi float.

Karakter juga dapat dikonversikan kedalam int, begitupun sebaliknya.
  • >>> a='z'              # var a = string 'z'
  • >>> b=ord(a)       # var b =  karakter dari var a menurut byte nya
  • >>> b                    # cetak var b
  • 122
  • >>> type(b)          # tipe data var b
  • <class 'int'>
  • >>> c=chr(b)        # var c = karakter dari b
  • >>> c                     # cetak var c
  • 'z'
  • >>> type(c)           #tipe data var c
  • <class 'str'>
  • >>>