Monday, 4 May 2015

9.Tuples

Tuples bekerja seperti list, tetapi tuples tidak bisa diubah tempatnya dan bisanya ditulis secara berseri dalam tanda 'kurung ()'. 

Tuples itu seperti list dan string, tuples memiliki posisi pada objek-objeknya, diakses menggunakan index dan dapat dipotong-potong.

Karena tuples tidak dapat dimodifikasi, sehingga kita tidak bisa mengubah ukurannya tanpa mengkopi. 

Operasi biasa tuples dibuat sebagai suatu objek yang berseri, dan dipisahkan dengan koma. Untuk membuat tuples kosong kita tidak perlu mengisikan apapun didalamnya.

Operasi
Keterangan
()
Tuple kosong
A=(1,)
Tuple yang berisi 1 objek
A=(1 , 'hallo' , 4.4)
Tuple yang berisi 3 objek
A=1 , 'hallo' , 4.4
Sama seperti diatas
a=('Hallo',(1,2))
Tuple berjenjang
a=tuple('hello')
a=('h', 'e', 'l', 'l', 'o')
a[i]
Index tuple i
a[i][j]
Index dari index
a[i:j]
Pemotongan dari index i sampai j




Dan ada juga operasi penggabungan tuple dengan tanda plus (+):
  1. >>> a
  2. ('h', 'e', 'l', 'l', 'o')
  3. >>> b
  4. (1, 2, 3)
  5. >>> a+b
  6. ('h', 'e', 'l', 'l', 'o', 1, 2, 3)
  7. >>> 
Dan bisa juga menggunakan operasi pengulangan dengan tanda bintang (*):
  1. >>> a*2
  2. ('h', 'e', 'l', 'l', 'o', 'h', 'e', 'l', 'l', 'o')
  3. >>> 
Untuk satu objek pada tuple ada perlakuan khusus untuk menyampaikan pada python bahwa ini adalah tuples. Pada contoh diatas dimana A=(1,) bukanlah suatu kesalahan penulisan. Tetapi itu untuk memerintahkan python menbuat tuple.
  1. >>> b=(2)     # integer
  2. >>> type(b)
  3. <class 'int'>
  4. >>> b=(2,)
  5. >>> type(b)
  6. <class 'tuple'>
  7. >>> 
Dan pada A=1 , 'hallo' , 4.4 python langsung membuatnya dengan tuple, walaupun tidak ada tanda kurung. Tanda kurung dalam tuple diperlukan untuk memanggil funsi atau ekperesi yang besar dalam penjenjangan.

Walaupun tuple bisa dibuat dengan tanpa tanda kurung, sebaiknya kita menggunakannya, bila scripting yang jumlahnya banyak, kita tidak keliru dengan data type yang lain.

Kita juga bisa mengkonversikan dari tuples ke list, sehingga kita bisa memodifikasi data dari tuple tersebut, dan dari list dapat pula dikonversikan kembali ke tuple.

  1. >>> a=('bbb','ccc','aaa','ddd')   # tuple a
  2. >>> a
  3. ('bbb', 'ccc', 'aaa', 'ddd')
  4. >>> b=list(a)                             # membuat list b dari tuple a
  5. >>> b
  6. ['bbb', 'ccc', 'aaa', 'ddd']
  7. >>> b.sort()                               # memsortir list b
  8. >>> b
  9. ['aaa', 'bbb', 'ccc', 'ddd']
  10. >>> a=tuple(b)                          # mengganti tuple a dengan list b
  11. >>> a
  12. ('aaa', 'bbb', 'ccc', 'ddd')
  13. >>> c=('bbb','ccc','aaa','ddd')        # membuat tuple c
  14. >>> sorted(c)                             # memsortir tuple c tanpa mengubah c
  15. ['aaa', 'bbb', 'ccc', 'ddd']
  16. >>> c
  17. ('bbb', 'ccc', 'aaa', 'ddd')
  18. >>> 
Kita juga bisa membuat list dengan base pada tuple, misalnya kita ingin menambahkan 100 dari semua data tuple.

  1. >>> a=(0,1,2,3,4,5)            # tuple a
  2. >>> b=[x+100 for x in a]   # membuat list dari tuple dengan menambahkan 100
  3. >>> b 
  4. [100, 101, 102, 103, 104, 105]
  5. >>> a
  6. (0, 1, 2, 3, 4, 5)
  7. >>> 
Walaupun tuple tidak dapat dimodifikasi, tetapi bila objek dalam tuple terdapat list, list tersebut tetap bisa dimodifikasi.

  1. >>> a                                         # tuple a
  2. (0, 1, 2, 3, 4, 5)
  3. >>> b                                         # list b
  4. [100, 101, 102, 103, 104, 105]
  5. >>> b[1]                                     # index 1 dari list b
  6. 101
  7. >>> len(b)                                  # banyak data dari list b
  8. 6
  9. >>> a.index(1)                           # index 1 dari tuple a
  10. 1
  11. >>> a.index(2,2)                        # index 2 dari tuple a
  12. 2
  13. >>> a.count(3)                          # menghitung banyaknya angka 3
  14. 1
  15. >>>  a
  16. (0, 1, 2, 3, 4, 5)
  17. >>> b
  18. [100, 101, 102, 103, 104, 105]
  19. >>> c
  20. (0, 1, [9, 8, 7], 2, 3)
  21. >>> c[2][0]=a                            # menambahkan data list yang ada pada tuple 
  22. >>> c
  23. (0, 1, [(0, 1, 2, 3, 4, 5), 8, 7], 2, 3)
  24. >>> 






No comments:

Post a Comment