[Dasar Python]: Simpan Sample Data Anda dengan List Python

Dapatkah Anda mengambil sample data dari 50 mobil yang dipamerkan di Mall tadi malam dan menyimpannya dalam satu variabel? Tenang saja, Python punya solusinya untuk Anda.

Sebuah cerita untuk kita semua…

Suatu ketika kita melihat pameran mobil kemudian kita ingin mengambil sample data dari sebanyak 50 mobil dari seluruh mobil yang dipamerkan tersebut. Data yang akan kita ambil berupa bilangan atau string. Sesungguhnya untuk menyimpan data tersebut dalam satu waktu tidaklah mudah, 50 data langsung tersimpan dalam sebuah program. Solusinya adalah kita harus membuat satu variabel yang mampu menyimpan berbagai data dari model mobil tersebut. Untuk menyelesaikan masalah sepeti di atas, Python menyediakan tiga tipe data: List, Tuple, dan Dictionary.

Sekilas List

List merupakan tipe data yang paling serbaguna diantara tiga tipe data tersebut. Sebuah List dapat berisi berbagai macam data yang dipisahkan oleh tanda koma dan dibatasi oleh tanda kurung kotak ([ ]). Sekilas, List mirip dengan array pada pemrograman C atau Java. Satu perbedaan dari keduanya (array dan List), List dapat berisi tipe data yang berbeda sedangkan array tidak. Berikut contohnya:

>>> listvar = ['abcd', 123, 2.23, 'efgh']
>>> listvar
['abcd', 123, 2.23, 'efgh']

List dapat kita iris dengan cara yang sama seperti String, dan aturan irisan yang sama terkait indeks positif dan negatif juga berlaku pada List. Contohnya,

>>> listvar[0]
'abcd'
>>> listvar[2]
2.23
>>> listvar[1:-1]
[123, 2.23]

List juga dapat disambung dan digandakan seperti contoh di bawah ini,

>>> listvar[:3] + ['yes', 4*3]
['abcd', 123, 2.23, 'yes', 12]
>>> 3 * listvar
['abcd', 123, 2.23, 'efgh', 'abcd', 123, 2.23, 'efgh', 'abcd', 123, 2.23, 'efgh']
>>> 2 * listvar + ['smart']
['abcd', 123, 2.23, 'efgh', 'abcd', 123, 2.23, 'efgh', 'smart']

Kita telah mempelajari sebelumnya bahwa String merupakan tipe data immutable, yang mana elemen-elemen dari String tidak dapat diubah. Pada List kita dapat mengubah elemen-elemen yang ada didalamnya.

>>> listvar
['abcd', 123, 2.23, 'efgh']
>>> listvar[3] = 5-7j
>>> listvar
['abcd', 123, 2.23, (5-7j)]

Kita juga dapat membuat List bersarang, yang mana sebuah List dapat berisi List lain.

>>> listvar[1] = [888, 'pqr']
>>> listvar
['abcd', [888, 'pqr'], 2.23, (5-7j)]

Kita juga dapat mengekstrak data dengan menggunakan irisan dari irisan. Contoh,

>>> listvar[1][0]
888

Kita dapat menggunakan fungsi len() untuk mengetahui panjang dari List tersebut. Contoh,

>>> len(listvar)
4
>>> listvar[1]
[888, 'pqr']

Kita dapat mengubah data dengan menggunakan irisan, yang meliputi mengganti, menghapus, dan memasukkan data dalam sebuah List. Berikut contohnya:

>>> listvar[1][0]
888
>>> listvar[0:2] = []
>>> listvar
[2.23, (5-7j)]
>>> listvar[1:1] = [1234, 'ddd']
>>> listvar
[2.23, 1234, 'ddd', (5-7j)]
>>> listvar[1:2] = ['007', 'xyz']
>>> listvar
[2.23, '007', 'xyz', 'ddd', (5-7j)]
>>> listvar[:0] = listvar
>>> listvar
[2.23, '007', 'xyz', 'ddd', (5-7j), 2.23, '007', 'xyz', 'ddd', (5-7j)]

Data-data yang ada dalam List dapat kita hapus dengan menggunakan pernyataan del jika kita tahu indeks posisi dari data yang akan dihapus tersebut. Jika kita tidak tahu indeks posisinya, kita dapat menggunakan metode remove.

>>> del listvar[0:5]
>>> listvar
[2.23, '007', 'xyz', 'ddd', (5-7j)]
>>> del listvar[0]
>>> listvar
['007', 'xyz', 'ddd', (5-7j)]
>>> listvar.remove('xyz')
>>> listvar
['007', 'ddd', (5-7j)]

Saat ini kita telah mempelajari dua tipe data, String dan List, yang dapat kita ekstrak dan manipulasi isi di dalamnya menggunakan indeks dan irisan. Dengan alasan ini, Python menyebut kedua tipe data ini sebagai tipe data urutan (sequence data type). Python juga mendukung dua tipe data urutan lainnya yaitu Tuple dan Dictionary, yang tentunya akan kita pelajari di pertemuan berikutnya.

Salam PythonMania!

7 comments

  1. bang jika
    lst = ([1],[2])
    terus kepengen saya didalam tuple tersebut kita sisipkan data list lagi, misal jadinya gini
    lst = ([1],[2],[3])
    kalo saya pake ginian
    list = list, [3]
    jadinya
    list = (([1],[2]),[3])

    kasih clue nya donk😀

  2. wah gan, hasil browsing mbah google, dah ketemu
    ternyata pake extend ya gan
    jadi
    list.extend([[3]])
    jadinya
    list = [1],[2],[3]

    hehe maaf banyak tanya mas

    1. ada tambahan sedkit ya mas..

      *) fungsi extend() ataupun append() hanya berlaku pada List. Berikut contohnya,

      >>> datList = [[1], [2]]
      >>> datList
      [[1], [2]]
      >>> datList.append([3])
      >>> datList
      [[1], [2], [3]]
      >>> datList.extend([[4]])
      >>> datList
      [[1], [2], [3], [4]]
      

      *) jika kita gunakan fungsi di atas pada Tuple, akan terjadi error. Untuk menambahkan data pada Tuple (yang sifat aslinya immutable alias gak bisa di edit isinya), maka digunakanlah trik operator ‘+’. Berikut contohnya,

      >>> datTuple = ([1], [2])
      >>> datTuple
      ([1], [2])
      >>> datTuple.extend([[3]])
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      AttributeError: 'tuple' object has no attribute 'extend'
      >>> newTuple = datTuple + ([3],)
      >>> newTuple
      ([1], [2], [3])
      

      Semoga bermanfaat…Salam PythonMania!

  3. makasih ya gan…, nambah lagi nih ilmu…, kemaren ngutak-ngatik pake’+’ malah berantakan jadi list dalam tuplenya

    TOP banget agan admin
    jadi tambah semangat nih belajar python.nya😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s