Sedikit mengenai SET dan LIST di Python

Awal belajar Python, saya seneng banget pake LIST, karena sangat membantu sekali. Seiring berjalannya waktu, terkadang saya harus melakukan efisiensi waktu dalam eksekusi code, terutama semisal datanya besar, dalam hal ngecek item yang ada di dalam kumpulan data tersebut misalnya.

vscode
Ngoding pake VSCode

Contohnya begini:
if siteid in list_siteid

jika list_siteid nya ini ada banyak item di dalamnya, akan jauh lebih cepat jika kita gunakan

if siteid in set(list_siteid)

kalau terlanjur list_siteid itu adalah LIST. Atau bisa langsung 

if siteid in set_siteid

SET itu:
  • Item di dalam SET itu unik (gak bisa duplikat)
  • Tidak berurutan (acak)
  • Jauh lebih cepat untuk pencarian item di dalam SET, dibandingkan dengan LIST

LIST itu:
  • Item di dalam LIST itu bisa duplikat
  • Berurutan (bisa diganti juga/tuker)
  • Lebih lambat untuk pencarian item di dalam LIST, dibandingkan dengan SET

Keduanya punya keunggulannya masing-masing, contoh, ketika kita butuh data berurutan, misal siteid ini harus berurutan dari A sampai Z, ketika looping, maka tepatnya ya pake LIST. Kalau pake SET, urutan akan berantakan, karena SET gak punya index. Contoh gini:

untuk LIST:

nama_kota = ['Bandung', 'Depok', 'Jakarta']
for kota in nama_kota:
    print(kota)
# hasilnya
Bandung
Depok
Jakarta

kalau pake SET
nama_kota = {'Bandung', 'Depok', 'Jakarta'}
for kota in nama_kota:
    print(kota)

# hasilnya random, bisa Depok dulu, Bandung dulu, Jakarta dulu, setiap kali running akan berbeda

itulah maksud point nomor 2 tadi ya (berurutan).

Lalu SET juga bisa jadikan alat untuk menghilangkan duplikat data pada LIST, jadi daripada kita pake:

nama_kota = ['Bandung', 'Depok', 'Jakarta', 'Depok']
nama_kota_unik = []
for kota in nama_kota:
    if kota not in nama_kota_unik:
        nama_kota_unik.append(kota)

cukup panjang, mending pake seperti ini:

nama_kota = ['Bandung', 'Depok', 'Jakarta', 'Depok']
nama_kota_unik = set(nama_kota)    # tipe data SET
nama_kota_unik = list(set(nama_kota))    # jika mau tipe data LIST

berpindah tipe data bolak-balik pun mudah, tinggal 

list({item1, item2})
set([item1, item2])

Segitu aja. Thanks

Posting Komentar

0 Komentar