Monday, 27 April 2015

8.1.Operasi Dasar Dictionaries

Biasanya kita membuat, simpan, dan akses dengan kata kunci 'key' yang sudah ber-index secara otomatis seperti pada list. Bila kita membuat index pada dictionaries sendiri secara manual, saya sarankan tidak menggunakan dictionaries seperti itu. Gunakanlah 'key' dan jangan menggunakan index. Index yang dibuat oleh dictionaries sepertinya random, padahal tidak demikian. Semuanya diatur oleh python agar lebih efektif dan efisien.


Fungsi 'len()' juga bekerja pada dictionaries, yang akan menberikan jumlah data yang disimpan di dictionaries atau banyaknya 'key', juga kata 'in' dapat digunakan pada dictionaries, untuk mengecek 'key' yang ada yang menghasilkan 'True' dan 'False'.

  1. >>> a={'nama': 'Budi', 'umur':30, 'jabatan':'direktur'}
  2. >>> a
  3. {'jabatan': 'direktur', 'nama': 'Budi', 'umur': 30}
  4. >>> len(a)
  5. 3
  6. >>> 'Budi' in a
  7. False
  8. >>> 'nama' in a
  9. True
  10. >>> list(a.keys())
  11. ['jabatan', 'nama', 'umur']
  12. >>> 

Pada baris ke 6 ('Budi' in a) menghasilkan 'False', ini dikarenakan fungsi nilai tidak dicari oleh perintah 'in', yang dicari adalah 'key' saja.

Untuk key dan nilainya dalam dictionaries bisa menggunakan perintah 'del'

  1. >>> a={'nama':'kursi', 'jumlah':12 , 'rusak':2}
  2. >>> del a['rusak']
  3. >>> a
  4. {'nama': 'kursi', 'jumlah': 12}
  5. >>> a['warna']=['hitam','putih','kuning']
  6. >>> a
  7. {'warna': ['hitam', 'putih', 'kuning'], 'nama': 'kursi', 'jumlah': 12}
  8. >>> 


Tidak seperti list, ketika kita membuat key baru pada list langsung ditempatkan diakhir index, pada dictionaries index key akan diatur ulang yang dianggap paling baik pengaturan datanya.

Kita juga bisa membuat list dari dictionaries dengan menggunakan nilai datanya saja, key saja ataupun kedua-duanya:

  1. >>> a
  2. {'warna': ['hitam', 'putih', 'kuning'], 'nama': 'kursi', 'jumlah': 12}
  3. >>> list(a.values())
  4. [['hitam', 'putih', 'kuning'], 'kursi', 12]
  5. >>> list(a.keys())
  6. ['warna', 'nama', 'jumlah']
  7. >>> list(a.items())
  8. [('warna', ['hitam', 'putih', 'kuning']), ('nama', 'kursi'), ('jumlah', 12)]
  9. >>> 


Ketika kita membuat perintah dimana 'key'nya tidak ada, maka kita akan mendapatkan hasil error, tapi kita bisa menggunakan perintah 'get' yang tidak menghasilkan apa-apa ketika key yang kita cari tidak ada, atau menggunakan perintah tambahan 'print' untuk menghasilkan 'None'.

  1. >>> a.get('warna')
  2. ['hitam', 'putih', 'kuning']
  3. >>>  a.get('rusak')
  4. >>>print(a.get('rusak'))
  5. None


Dictionaries juga memiliki metode update yang akan menggabungkan 'key' dan 'value' nya, dan akan mengganti bila ada 'key' yang sama.

  1. >>> a
  2. {'warna': ['hitam', 'putih', 'kuning'], 'nama': 'kursi', 'jumlah': 12}
  3. >>> aa={'jumlah':8, 'rusak':1}
  4. >>> a.update(aa)
  5. >>> a
  6. {'warna': ['hitam', 'putih', 'kuning'], 'nama': 'kursi', 'rusak': 1, 'jumlah': 8}
  7. >>> 


Kita bisa lihat ada penambahan key (rusak) dan penggatian nilai (jumlah).

Metode pop(key) yang menghapus key dari dictionaries dan menghasilakan value dari key tersebut.

  1. >>> a
  2. {'warna': ['hitam', 'putih', 'kuning'], 'nama': 'kursi', 'rusak': 1, 'jumlah': 8}
  3. >>> a.pop ('rusak')
  4. 1
  5. >>> a
  6. {'warna': ['hitam', 'putih', 'kuning'], 'nama': 'kursi', 'jumlah': 8}
  7. >>> 


Sunday, 19 April 2015

8.Dictionaries

Dictionaries merupakan data type yang sangat flexsible, walaupun tidak teratur seperti list, tetapi dictionaries mempunyai key untuk penyimpanan datanya. Semua tergantung key, sehingga memudahkan kita untuk membaca atau memanggil suatu data pada dictionaries. 

Dictionaries juga seperti list yang dapat membesar atau mengecil, dan bisa memuat data objek jenis apapun. Setiap key memiliki satu nilai object, tapi dapat menjadi sebuah koleksi dari beberapa object.

Dictionaries juga dapat diubah sesuai dengan indexnya, tapi tidak memdukung operasi yang berurutan, sehingga operasi yang bergantung pada urutan akan membuat berantakan.

Contoh operasi Dictionaries yang biasa digunakan:

a={}     #dictionary kosong

a={ 'nama' : 'Budi', 'jabatan' : 'direktur' }     

a={ 'dep' :{ 'nama' : 'Budi' , 'jabatan' : 'direktur' }}  

a=dict( nama = 'Budi , umur = 55 )     #alternatif teknik

a=dict ([( 'name' , 'Budi') , ('jabatan' , 'direktur' )])

a=dict (zip (key list , nilai list ))

dctny.keys()   # semua kata kunci

dctny.values()  # semua nilai

dctny.items()    # semua kata kunci dan nilai

dctny.copy()     # mengkopi

dctny.clear()     # menghapus semua data







Monday, 13 April 2015

7.4.Menghapus data list

Untuk menghapus data dari baris data list ada beberapa perintah untuk fungsi yang berbeda-beda. 

Untuk menghapus inex paling belakang kita bisa menggunakan list.pop(), bila kita ingin menghapus salah satu data dari list menggunakan index, kita bisa gunakan list.pop(index).

  1. >>> a
  2. [1, 2, 3, 4, 5, 6]
  3. >>> a.pop()
  4. 6
  5. >>> a
  6. [1, 2, 3, 4, 5]
  7. >>> a.pop(0)
  8. 1
  9. >>> a
  10. [2, 3, 4, 5]
  11. >>> 

Menghapus dengan nama data juga bisa, dengan menggunakan list.remove(objek). Dan bila ada dua atau lebih data yang sama, maka python akan menghapus data yang lebih awal dahulu.
  1. >>> a=[1,2,3,1,2,3]
  2. >>> a.remove(1)
  3. >>> a
  4. [2, 3, 1, 2, 3]
  5. >>> 

Juga bisa menggunakan perintah 'del', dengan perintah del list(awal-index:akhir-index).
  1. >>> a=[1,2,3,4,5,6,7,8,9,10]
  2. >>> del a[2]
  3. >>> a
  4. [1, 2, 4, 5, 6, 7, 8, 9, 10]
  5. >>> del a[2:5]
  6. >>> a
  7. [1, 2, 7, 8, 9, 10]
  8. >>> del a[2:]
  9. >>> a
  10. [1, 2]
  11. >>> 
-

Sunday, 12 April 2015

7.3.List.extend() List.append() List.insert()

List.extend() adalah untuk menambahkan baris data diakhir index pada suatu list. 
Dengan perintah "list.extend([data,data,...])"
  1. >>> a=[1,2,3,4,5]
  2. >>> a
  3. [1, 2, 3, 4, 5]
  4. >>> a.extend([6,7,8])
  5. >>> a
  6. [1, 2, 3, 4, 5, 6, 7, 8]
  7. >>> 
Sedangkan list.append() untuk menabahkan satu data diakhir index kedalam list. 
Dengan perintah "list.append(data)"

  1. >>> a
  2. [1, 2, 3, 4, 5, 6, 7, 8]
  3. >>> a.append(9)
  4. >>> a
  5. [1, 2, 3, 4, 5, 6, 7, 8, 9]
  6. >>> a.append([10,11])
  7. >>> a
  8. [1, 2, 3, 4, 5, 6, 7, 8, 9, [10, 11]]
  9. >>> 
Pada baris ke 6, saya memaksa untuk memasukan 2 (dua) buah data dengan append(), tapi yang terjadi kedua data yang saya masukan dihitung 1 data yang berupa list.

List.insert() untuk mensisipi data baru dengan indexnya. Sehingga kita bisa memasukan data baru ditengah-tengah baris data list, dan index data dibelakangnya bergeser.
Dengan perintah "list.insert('nomor-index', data).

  1. >>> a
  2. [1, 2, 3, 4, 5, 6, 7, 8, 9, [10, 11]]
  3. >>> a.insert(4,"Ini mau nyelak barisan")
  4. >>> a
  5. [1, 2, 3, 4, 'Ini mau nyelak barisan', 5, 6, 7, 8, 9, [10, 11]]
  6. >>> 



7.2.Sort

Untuk mensortir list, biasanya menggunakan metode 'list.sort()', Atau bisa juga menggunakna sorted().

  1. >>> sorted([5,6,1,7,9,2,9])
  2. [1, 2, 5, 6, 7, 9, 9]
  3. >>> a=[5,6,1,7,9,2,9]
  4. >>> a.sort()
  5. >>> a
  6. [1, 2, 5, 6, 7, 9, 9]
  7. >>> 

Keduanya (sorted() dan list.sort()) memiliki key parameter yang berfungsi untuk mensortir yang utama dari element-element list, juga dan memiliki reverse paramenter untuk membalikan list (yang pertama menjadi terakhir).
>>> sorted(s.split(),key=str.lower)
['Bentuk', 'dalam', 'dari', 'Metode', 'Percobaan', 'pertama', 'sorted,', 'String']

  1. >>> s="Percobaan pertama dari Metode sorted, dalam Bentuk String"
  2. >>> sorted(a,key=str.lower)
  3. >>> a=s.split()
  4. >>> a
  5. ['Percobaan', 'pertama', 'dari', 'Metode', 'sorted,', 'dalam', 'Bentuk', 'String']
  6. >>> a.sort(key=str.lower,reverse=True)
  7. >>> a
  8. ['String', 'sorted,', 'pertama', 'Percobaan', 'Metode', 'dari', 'dalam', 'Bentuk']
  9. >>>