Bab 2. Belajar Memprogram [Pemrograman Python Untuk Anak] – bagian 4 { Lists }

Lists Lebih Powerful Daripada String

“Kaki laba-laba, kaki katak, mata kadal, sayap kelelawar, mentega siput, dan ketombe ular” tidak cukup daftar belanja normal (kecuali jika Anda kebetulan menjadi penyihir), tapi kami akan menggunakannya sebagai contoh pertama kami mengenai perbedaan antara string dan list.

Fig 2.3.7.gambar penyihirKita bisa menyimpan daftar item ini dalam variabel wizard_list menggunakan string seperti dibawah ini :

>>> wizard_list = 'spider legs, toe of
 frog, eye of newt, bat wing, slug butter, snake dandruff'
>>> print(wizard_list)
spider legs, toe of frog, eye of newt, bat wing, slug butter, snake dandruff

Tapi kita juga bisa membuat daftar, semacam objek Python ajaib yang dapat kita manipulasi. Inilah item ini akan terlihat ketika ditulis sebagai list:

>>> wizard_list = ['spider legs', 'toe of frog', 'eye of newt',
               'bat wing', 'slug butter', 'snake dandruff']
>>> print(wizard_list)
['spider legs', 'toe of frog', 'eye of newt', 'bat wing', 'slug butter',
 'snake dandruff']

Membuat list membuat kita mengetik sedikit lebih banyak dari pada saat membuat string, tetapi list lebih berguna daripada string karena ia bisa dimanipulasi. Sebagai contoh, kita bisa mencetak item ketiga dalam wizard_list (eye of newt) dengan mengetikkan posisinya di dalam list (called the index position) didalam square brackets ([]), seperti ini :

>>> print(wizard_list[2])
eye of newt

Hah? Bukankah item ketiga dalam list? Ya, tapi list mulai dari posisi indeks 0, sehingga item pertama dalam daftar adalah 0, yang kedua adalah 1, dan yang ketiga adalah 2. Yang mungkin tidak membuat banyak arti untuk manusia, tetapi tidak untuk komputer.

Kita juga dapat mengubah item dalam daftar jauh lebih mudah daripada yang kita bisa dalam sebuah string. Mungkin bukan mata kadal tapi kami membutuhkan lidah siput. Berikut adalah bagaimana kita akan melakukannya dengan daftar:

>>> wizard_list[2] = 'snail tongue'
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff']

Ini mengatur item dalam posisi indeks 2, sebelumnya mata kadal (eye of newt), menjadi lidah siput (snail tongue).

Pilihan lain adalah untuk menunjukkan subset dari item dalam daftar. Kami melakukan ini dengan menggunakan titik dua (:) di dalam brackets persegi. Misalnya, masukkan berikut ini untuk melihat item ketiga sampai kelima dalam daftar (satu set brilian untuk bahan sandwich):

Fig 2.3.8.Mata kelelawar

>>> print(wizard_list[2:5])
['snail tongue', 'bat wing', 'slug butter']

Menulis [2:5] sama seperti mengatakan, “Tunjukkan item dari posisi index 2 sampai (tapi tidak termasuk) index 5” – atau dalam kata lain, item ke 2, 3, dan 4.

List juga bisa digunakan untuk menyimpan beberapa item, seperti angka :

>>> some_numbers = [1, 2, 5, 10, 20]

mereka juga bisa menangani kumpulan string:

>>> some_strings = ['Which', 'Witch', 'Is', 'Which']

Juga bisa gabungan dari string dan angka:

>>> numbers_and_strings = ['Why', 'was', 6, 'afraid', 'of', 7,
'because', 7, 8, 9]
>>> print(numbers_and_strings)
['Why', 'was', 6, 'afraid', 'of', 7, 'because', 7, 8, 9]

Bahkan List juga dapat menyimpan List lainnya :

>>> numbers = [1, 2, 3, 4]
>>> strings = ['I', 'kicked', 'my', 'toe', 'and', 'it', 'is', 'sore']
>>> mylist = [numbers, strings]
>>> print(mylist)
[[1, 2, 3, 4], ['I', 'kicked', 'my', 'toe', 'and', 'it', 'is', 'sore']]

Contoh List-dalam-list ini menciptakan tiga variabel: numbers dengan empat angka, strings dengan delapan string, dan mylist menggunakan numbers dan strings. List ketiga (mylist) hanya memiliki dua elemen karena ia berisi nama variabel, bukan isi dari variabel.

Menambahkan Item ke dalam List

Untuk menambahkan item ke dalam list, kita menggunakan fungsi append. Sebuah fungsi adalah potongan kode program yang memberitahu python untuk melakukan sesuatu. Dalam kasus ini, append menambahkan sebuat item ke akhir dari sebuah list.

Sebagai contoh untuk menambahkan sebuah bear burp (Saya yakin ini adalah sesuatu) kedalam daftar belanja wizard_list, untuk melakukannya :

>>> wizard_list.append('bear burp')
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff', 'bear burp']

Kamu bisa menambahkan lebih banyak item magis ke dalam wizard_list dengan cara yang sama, seperti ini:

>>> wizard_list.append('mandrake')
>>> wizard_list.append('hemlock')
>>> wizard_list.append('swamp gas')

Sekarang wizard_list akan berisi item seperti ini :

>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'snake dandruff', 'bear burp', 'mandrake', 'hemlock', 'swamp gas']

Wizard jelas siap digunakan untuk mengerjakan sihir yang serius!

Menghapus Item dari dalam List

Untuk menghapus item dari sebuah list, gunakan perintah del (kependengan dari delete). Sebagai contoh, untuk menghapus item ke enam dari list wizard_list, yaitu snake dandruff, lakukan seperti ini:

>>> del wizard_list[5]
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter',
 'bear burp', 'mandrake', 'hemlock', 'swamp gas']

Catatan :

Ingat posisinya dimulai dari nol (0), jadi wizard_list[5] sebenarnya mereferensi item ke enam dalam list

Dan ini adalah cara untuk menghapus item yang baru saja kita tambahkan (mandrake, hemlock, and swamp gas) :

>>> del wizard_list[8]
>>> del wizard_list[7]
>>> del wizard_list[6]
>>> print(wizard_list)
['spider legs', 'toe of frog', 'snail tongue', 'bat wing', 'slug butter', 'bear burp']

Operasi Aritmatika pada List

Kita dapat menggabungkan list dengan menambahkan mereka, seperti menambahkan nomor, menggunakan tanda plus (+). Misalnya, kita memiliki dua daftar: List1, berisi angka 1 sampai 4, dan List2, mengandung beberapa kata. Kita dapat menambahkan mereka menggunakan fungsi print dan tanda +, seperti:

>>> list1 = [1, 2, 3, 4]
>>> list2 = ['I', 'tripped', 'over', 'and', 'hit', 'the', 'floor']
>>> print(list1 + list2)
[1, 2, 3, 4, 'I', 'tripped', 'over', 'and', 'hit', 'the', 'floor']

Kita juga bisa menambahkan dua list dan memberikan hasilnya ke dalam variabel lain.

>>> list1 = [1, 2, 3, 4]
>>> list2 = ['I', 'ate', 'chocolate', 'and', 'I', 'want', 'more']
>>> list3 = list1 + list2
>>> print(list3)
[1, 2, 3, 4, 'I', 'ate', 'chocolate', 'and', 'I', 'want', 'more']

Dan kita bisa mengalikan sebuah list dengan angka. Sebagai contoh, mengalikan list1 dengan 5, kita menulis list1 * 5 :

>>> list1 = [1, 2]
>>> print(list1 * 5)
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]

Ini sebenarnya mengatakan Python untuk mengulang List1 lima kali, sehingga 1, 2, 1, 2, 1, 2, 1, 2, 1, 2.

Di sisi lain, pembagian (/) dan pengurangan (-) hanya memberikan kesalahan, seperti dalam contoh ini:

>>> list1 / 20
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 / 20
TypeError: unsupported operand type(s) for /: 'list' and 'int'

>>> list1 - 20
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 - 20
TypeError: unsupported operand type(s) for -: 'list' and 'int'

Tapi mengapa? Nah, menggabungkan list dengan + dan mengalikan list dengan * adalah operasi yang cukup sederhana. Konsep-konsep ini juga masuk akal di dunia nyata. Sebagai contoh, jika saya harus menyerahkan dua kertas daftar belanja dan berkata, “Tambahkan kedua daftar ini,” Anda mungkin menulis semua item pada lembar kertas lain, dari ujung ke ujung. Hal yang sama mungkin benar jika saya berkata, “Kalikan daftar ini dengan 3.” Anda bisa membayangkan menulis daftar semua item dalam daftar tiga kali pada lembar kertas lain.

Tapi bagaimana Anda akan membagi daftar? Sebagai contoh, mempertimbangkan bagaimana Anda akan membagi daftar enam angka (1 sampai 6) menjadi dua. Berikut adalah tiga cara yang berbeda:
[1,2,3]                         [4,5,6]
[1]                               [2,3,4,5,6]
[1,2,3,4]                     [5,6]

Akankah kami membagi daftarnya di tengah, memotongnya setelah item pertama, atau hanya memilih beberapa tempat acak dan membaginya disana? Tidak ada jawaban yang sederhana, dan ketika Anda meminta Python untuk membagi list/daftar, tidak tahu apa yang harus dilakukan. Itulah mengapa ia merespon dengan kesalahan.

Fig 2.3.9. aritmatika listHal yang sama terjadi jika kamu menambahkan apapun selain sebuah list dengan list lainnya. Kamu tidak bisa melakukannya juga. Sebagai contoh, ini adalah apa yang terjadi ketika kita mencoba menambahkan list1 dengan 50:

>>> list1 + 50
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    list1 + 50
TypeError: can only concatenate list (not "int") to list

Mengapa kita mendapatkan error di sini? Nah, apa artinya untuk menambahkan 50 ke dalam daftar/list? Apakah ini berarti menambah 50 untuk setiap item? Tapi bagaimana jika item tersebut bukan angka? Apakah ini berarti menambahkan angka 50 pada akhir atau awal daftar?

Dalam pemrograman komputer, perintah harus bekerja dengan cara yang persis sama setiap kali Anda memasukkan mereka. Bahwa komputer bodoh melihat setiap hal hanya dalam warna hitam dan putih. Mintalah untuk membuat keputusan yang rumit, dan ia pasti angkat tangan dengan menampilkan kesalahan.

Iklan
Categories: Pemrograman Komputer, Python | Tag: | Tinggalkan komentar

Navigasi pos

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Buat situs web atau blog gratis di WordPress.com.

%d blogger menyukai ini: