subrutin
a sequence of programmer life

Advertisement

Belajar Python Dasar #5: Bagaimana Menggunakan List (Bagian-2)

0 331

Pada bagian ke 1, telah diulas fungsi – fungsi umum yang dapat digunakan programmer untuk memanipulasi object list, mulai dari menginisiasi hingga menggabungkan dua list menggunakan fungsi extend. Dalam bagian ke-2 ini subrutin akan melanjutkan pembahasan mengenai fungsi – fungsi penting yang dapat digunakan kala ingin melakukan manipulasi struktur data  pada list

Advertisement

  • Menyisipkan elemen di dalam list

Jika append yang telah diulas lalu pada bagian 1, berguna untuk menambahkan item elemen pada indeks yang paling akhir. Programmer dapat menggunakan insert untuk menyisipkan elemen pada indeks yang diinginkan.

>>> superhero=['Spiderman', 'Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']
>>> superhero.insert(2,'Ant')
>>> superhero
['Spiderman', 'Captain America', 'Ant', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']

Perhatikan, saat fungsi insert dijalankan, elemen yang semula berada pada posisi lebih dari atau sama dengan indeks ke-2 (Hulk, Iron Man dst) akan tergeser kekanan (+ 1).

  • Menghapus elemen 

Untuk menghapus elemen di dalam list, dapat digunakan statement Python del

>>> del superhero[0]
>>> superhero
['Captain America', 'Ant', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']

Advertisement

Jika programmer ingin menghapus elemen berdasarkan nilai elemennya, (bukan nomer indeksnya), maka gunakan remove

>>> superhero.remove('Ant')
>>> superhero
['Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']

Sedangkan jika ingin mendapatkan elemen terakhir di dalam list sekaligus menghapusnya, gunakan fungsi pop

>>> superhero.pop()
'Flash'
>>> superhero
['Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman']
>>> superhero.pop(1)
'Hulk'
>>> superhero
['Captain America', 'Iron Man', 'Superman', 'Batman']

Perhatikan, pop juga dapat digunakan mendapatkan nilai elemen pada indeks tertentu sekaligus menghapusnya, programmer tinggal mengisikan nomer indeks pada sebagai argumen pop. Jika elemen pada posisi indeks tersebut dikeluarkan, maka elemen pada indeks yang lebih besar akan mengisi tempat yang kosong tersebut sehingga posisi indeksnya berkurang 1 dan ukuranlist pun menjadi berubah

Advertisement

  • Mencari posisi index dari elemen

Untuk mencari posisi indeks sebuah elemen di dalam list berdasarkan nilai elemennya, programmer dapat menggunakan fungsi index

>>> superhero.index('Superman')
2

Sedangkan untuk mengetahui sebuah elemen eksis atau tidak di dalam sebuah list, dapat digunakan statement python in

>>> 'Superman' in superhero
True
>>> 'Spiderman' in superhero
False
  • Mengurutkan elemen di dalam list

Terkadang elemen – elemen di dalam list perlu untuk diurutkan terlebih dahulu. Untuk keperluan tersebut Python menyediakan dua fungsi sebagai berikut

  • fungsi list sort yang mengurutkan dirinya sendiri
  • fungsi generik sorted yang memberikan return berupa salinan dari list yang telah diurutkan
>>> superhero=['Spiderman', 'Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']
>>> superhero
['Spiderman', 'Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']
>>> superhero.sort()
>>> superhero
['Batman', 'Captain America', 'Flash', 'Hulk', 'Iron Man', 'Spiderman', 'Superman']
>>> superhero=['Spiderman', 'Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']
>>> superhero
['Spiderman', 'Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']
>>> superhero_sorted=sorted(superhero)
>>> superhero_sorted
['Batman', 'Captain America', 'Flash', 'Hulk', 'Iron Man', 'Spiderman', 'Superman']
>>> superhero
['Spiderman', 'Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']

Perhatikan perbedaannya,variabel superhero_sorted adalah salinan list  yang telah diurutkan dari variabel superhero. Sedangkan elemen – elemen di dalam superhero sendiri tidak berubah.

Secara default, fungsi sort akan mengurutkan secara ascending, jika diinginkan pengurutan dilakukan secara descending tambahkan argumen reverse=True

>>> superhero=['Spiderman', 'Captain America', 'Hulk', 'Iron Man', 'Superman', 'Batman', 'Flash']
>>> superhero.sort(reverse=True)
>>> superhero
['Superman', 'Spiderman', 'Iron Man', 'Hulk', 'Flash', 'Captain America', 'Batman']
  • Menyalin list ke list lainnya

Jika programmer menugaskan (menggunakan assignment operator = ) sebuah list ke lebih dari satu variabel, maka ketika sebuah elemen diubah pada satu variabel, elemen di variabel yang lain akan ikut berubah. Script berikut akan mengilustrasikan kejadian tersebut

>>> a
[1, 2, 3]
>>> b=a
>>> b
[1, 2, 3]
>>> a[0]=9
>>> a
[9, 2, 3]
>>> b
[9, 2, 3]

Perhatikan, setelah elemen pada index 0  variabel a diubah menjadi 9, list pada variabel b ikut berubah, hal ini dikarenakan, baik variabel a dan b, merujuk ke data (alamat memori) yang sama.

Jika programmer ingin membuat duplikat dari sebuah list ke variabel lain sehingga masing – masing variabel merujuk kepada alamat memori yang berbeda, gunakan  salah satu dari beberapa cara berikut

  • Menggunakan fungsi copy()
  • menggunakan fungsi konversi list()
  • menggunakan operator slice[:]
>>> a=[1,2,3]
>>> a
[1, 2, 3]
>>> b=a.copy()
>>> c=list(a)
>>> d=a[:]
>>> a[0]='im superhero'
>>> a
['im superhero', 2, 3]
>>> b
[1, 2, 3]
>>> c
[1, 2, 3]
>>> d
[1, 2, 3]

 

advertisement

Get real time updates directly on you device, subscribe now.

Tinggalkan pesanan

Alamat email anda tidak akan disiarkan.