Friday 27 March 2015

6.3.1. Indexing dan Slicing

Index dan slice pada string dapat dilakukan karena string memiliki keteraturan pada karakternya. Bila variabel a = 'kapal ikan' akan tetap sama letak posisinya, mulai dari index 0 = 'k', index 1='a', index 2='p' dan seterusnya. Index mulai dari angka 0 dan berakhir dengan panjang string dikurang 1. 

Index string pada python bisa positip atau negatif. contohnya, bila variabel a='xyz' :

Index=
-3
-2
-1
0
1
2
Var a=
x
y
z
x
y
z

  1. >>> a[-3],a[-2],a[-1], a[0], a[1], a[2]
  2. ('x', 'y', 'z', 'x', 'y', 'z')
  3. >>> print(a[0],a[1],a[2],a[-1],a[-2],a[-3])
  4. x y z z y x
  5. >>> 

Sedangkan 'slice' adalah pemotongan dari string.

  1. >>> print(a)                # variable a='raja minyak dari medan'
  2. raja minyak dari medan
  3. >>> len(a)                    #panjang variable a 
  4. 22
  5. >>> a[3:]                      # cetak variable a mulai dari index 3
  6. 'a minyak dari medan'
  7. >>> a[6:20]                  #cetak variable a mulai dari index 6 sampai index 20
  8. 'inyak dari med'
  9. >>> a[:15]                   #cetak variable a dari awal sampai index 15
  10. 'raja minyak dar'
  11. >>> 


index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
r a j a
m i n y a k
d a r i
m e d a n

Sepertinya ada yang salah dari slice ini bukan? pada saat kita ingin memotong dari index 6 sampai index 20 (seperti pada baris ke 7) ternyata yang tercetak adalah 'inyak dari med', kurang hurup a pada index ke 20 nya bukan? Table index diatas kurang tepat, python tidak memetakan index seperti itu tetapi seperti:

0     1     2      3     4      5      6      7      8     9      10    11    12   13    14    15   16    17    18    19   20  21
r a j a

m i n y a k
d a r i
m e d a n
-22-21  -20  -19  -18   -17  -16  -15   -14  -13   -12  -11  -10   -9    -8    -7     -6     -5    -4     -3     -2 -1

Python menbuat index tepat digaris pemisah antar karakter, sehingga saat pyhon membaca index ke 20, karakter index 20 belum terbaca oleh python, tetapi disitulah pembacaan index berakhir.

Dan bila kita menggunakan index negatif:
  1. >>> a[:-5]
  2. 'raja minyak dari '
  3. >>> a[-10:-3]
  4. 'dari me'
  5. >>> 
Pemotongan (slice) bisa dengan melompat-lompat:

  1. >>> a[0:20:2]
  2. 'rj iykdr e'
  3. >>> a[::3]
  4. 'raiadien'
  5. >>> 
Format pemotongan(slice) pada string adalah 
namaVariable[index awal : index akhir : lompatan]


Dengan lompatan ini maka string dapat dibalik urutannya :
  1. >>> a[::-1]
  2. 'nadem irad kaynim ajar'
  3. >>> 

No comments:

Post a Comment