Last Updated on March 10, 2023 by
Set adalah kumpulan data unik. Artinya, elemen dari suatu python sets tidak dapat digandakan. Set ditulis dengan kurung kurawal ( {} ), menjadi elemen yang dipisahkan dengan koma.
Dalam pembahasan kali ini, kita akan belajar Python Sets dan berbagai operasinya di Python dengan bantuan contoh.
Table of Contents
Apa Itu Python Sets
Set adalah kumpulan item yang tidak diurutkan. Setiap elemen dalam set harus unik, tidak dapat diubah, dan set menghapus elemen duplikat. Set bisa berubah yang berarti kita dapat memodifikasinya setelah dibuat.
Tidak seperti koleksi lain di Python, tidak ada indeks yang dilampirkan ke elemen himpunan, yaitu, kita tidak dapat langsung mengakses elemen apa pun dari himpunan dengan indeks. Namun, kita bisa mencetak semuanya bersama-sama, atau kita bisa mendapatkan daftar elemen dengan mengulang python sets.
Setiap tipe data yang tidak dapat diubah dapat menjadi elemen dari suatu himpunan (misalnya string dan bilangan bulat). Jika Anda mencoba menggunakan tipe data yang dapat diubah di dalam kumpulan, pengecualian ( TypeError ) akan dimunculkan.
Keuntungan utama menggunakan set, dibandingkan dengan list, adalah ia memiliki metode yang sangat dioptimalkan untuk memeriksa apakah elemen tertentu terkandung dalam python sets. Ini didasarkan pada struktur data yang dikenal sebagai tabel hash . Karena set tidak diurutkan, kami tidak dapat mengakses item menggunakan indeks seperti yang kami lakukan di list.
Built-in Python sets methods
Python berisi metode bawaan untuk digunakan dengan set. berikut diantaranya :
No | Method | Description |
1 | add(item) | Untuk menambahkan item ke set. Tidak berpengaruh jika item tersebut sudah ada di set. |
2 | clear() | Untuk menghapus semua item dari set. |
3 | copy() | Untuk mengembalikan salinan set yang dangkal. |
4 | difference_update(….) | Untuk memodifikasi set dengan menghapus semua item yang juga ada di set yang ditentukan. |
5 | discard(item) | Untuk menghapus item yang ditentukan dari set. |
6 | intersection() | Untuk mengembalikan set baru yang hanya berisi elemen umum dari kedua set. (semua set jika lebih dari dua ditentukan). |
7 | intersection_update(….) | Untuk menghapus item dari set asli yang tidak ada di kedua set (semua set jika lebih dari satu ditentukan). |
8 | Isdisjoint(….) | Kembalikan True jika dua set memiliki persimpangan nol. |
9 | Issubset(….) | Laporkan apakah set lain berisi set untuk. |
10 | Issuperset(….) | Laporkan apakah set untuk berisi set lain. |
11 | pop() | Hapus dan kembalikan elemen set arbitrer yang merupakan elemen terakhir dari set. Menimbulkan KeyError jika set kosong. |
12 | remove(item) | Hapus elemen dari set; itu harus menjadi anggota. Jika elemennya bukan anggota, naikkan KeyError. |
13 | symmetric_difference(….) | Hapus elemen dari set; itu harus menjadi anggota. Jika elemennya bukan anggota, naikkan KeyError. |
14 | symmetric_difference_update(….) | Perbarui satu set dengan perbedaan simetris dari dirinya sendiri dan yang lain. |
15 | union(….) | Kembalikan gabungan set sebagai set baru. (yaitu semua elemen yang ada di salah satu set.) |
16 | update() | Perbarui satu set dengan penyatuan dirinya sendiri dan yang lainnya. |
Create Python Sets
Set bisa dibuat dengan mengapit item tetap yang dipisahkan koma dengan kurung kurawal {}. Python juga menyediakan metode set() , yang dapat digunakan untuk membuat set dengan urutan yang diteruskan.
Contoh 1 : Create Set Dengan Curly Braces {}
Days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"} print(Days) print(type(Days)) for i in Days: print(i)
Contoh 2 : Create Set Dengan Python Sets Methods ()
Days = set(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]) print(Days) print(type(Days)) for i in Days: print(i)
Metode Set ini dapat berisi semua jenis elemen seperti integer, float, tuple dll. Tetapi elemen yang dapat diubah (daftar, kamus, set) tidak dapat menjadi anggota set. Perhatikan contoh berikut.
set1 = { 1 , 2 , 3 , "CodeKey" , 20.5 , 14 } print(type(set1)) set2 = {1,2,3,["Codekey",4]} print(type(set2))
Dalam kode di atas, kami telah membuat dua set, set set1 memiliki elemen yang tidak dapat diubah dan set2 memiliki satu elemen yang dapat diubah sebagai daftar. Saat memeriksa jenis set2, muncul kesalahan, yang berarti set hanya dapat berisi elemen yang tidak dapat diubah.
Membuat set kosong sedikit berbeda karena curly braces {} kosong juga digunakan untuk membuat kamus. Jadi Python menyediakan metode set() yang digunakan tanpa argumen untuk membuat set kosong.
set3 = {} print(type(set3)) set4 = set() print(type(set4))
Mari kita lihat apa yang terjadi jika kita memberikan elemen duplikat ke set.
set5 = { 1 , 2 , 4 , 4 , 5 , 8 , 9 , 9 , 10 } print ( "Kembalikan set dengan elemen unik:" , set5)
Pada kode di atas, kita dapat melihat bahwa set5 terdiri dari beberapa elemen duplikat ketika kita mencetaknya untuk menghilangkan duplikasi dari set.
Menambahkan Item Ke Set
Python menyediakan method add() dan metode update() yang dapat digunakan untuk menambahkan beberapa item tertentu ke set. Metode add() digunakan untuk menambahkan satu elemen sedangkan metode update() digunakan untuk menambahkan beberapa elemen ke set. Perhatikan contoh berikut :
Menggunakan Method Add
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set ... ") print(months) print("\nAdding other months to the set..."); Months.add("July"); Months.add ("August"); print("\nPrinting the modified set..."); print(Months) print("\nlooping through the set elements ... ") for i in Months: print(i)
Menggunakan Method Update
Untuk menambahkan lebih dari satu item dalam set, Python menyediakan metode update() . Itu menerima iterable sebagai argumen.
Perhatikan contoh berikut:
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set ... ") print(Months) print("\nupdating the original set ... ") Months.update(["July","August","September","October"]); print("\nprinting the modified set ... ") print(Months);
Menghapus Item Dari Set
Python menyediakan metode discard() dan metode remove() yang dapat digunakan untuk menghapus item dari set. Bedanya dengan fungsi tersebut, dengan menggunakan fungsi Discard() jika item tidak ada di dalam set maka set tetap tidak berubah sedangkan metode remove() akan mengalami error.
Perhatikan contoh berikut.
Discard Method
months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set ... ") print(months) print("\nRemoving some months from the set..."); months.discard("January"); months.discard("May"); print("\nPrinting the modified set..."); print(months) print("\nlooping through the set elements ... ") for i in months: print(i)
Metode Remove
months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set ... ") print(months) print("\nRemoving some months from the set..."); months.remove("January"); months.remove("May"); print("\nPrinting the modified set..."); print(months)
Kita juga bisa menggunakan metode pop() untuk menghapus item. Umumnya, metode pop() akan selalu menghapus item terakhir tetapi set tidak diurutkan, kami tidak dapat menentukan elemen mana yang akan dimunculkan dari set.
Pertimbangkan contoh berikut untuk menghapus item dari set menggunakan metode pop().
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set ... ") print(Months) print("\nRemoving some months from the set..."); Months.pop(); Months.pop(); print("\nPrinting the modified set..."); print(Months)
Pada kode di atas, elemen terakhir dari set Months adalah Maret tetapi metode pop() menghapus bulan Juni dan Januari karena set tidak diurutkan dan metode pop() tidak dapat menentukan elemen terakhir dari set.
Python menyediakan metode clear() untuk menghapus semua item dari set.
Perhatikan contoh berikut.
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set ... ") print(Months) print("\nRemoving all the items from the set..."); Months.clear() print("\nPrinting the modified set...") print(Months)
Perbedaan Discard dan Remove
Terlepas dari kenyataan bahwa Discard() dan Remove() method, keduanya memiliki tugas yang sama, masih terdapat perbedaan utama antara discard() and remove().
Jika kunci yang akan dihapus dari set dengan Discard() tidak ada di set, Python tidak akan memberikan kesalahan. Program mempertahankan alur kontrolnya.
Di sisi lain, jika item yang akan dihapus dari set menggunakan remove() tidak ada di set, Python akan memunculkan kesalahan.
Perhatikan contoh berikut.
Months = set(["January","February", "March", "April", "May", "June"]) print("\nprinting the original set ... ") print(Months) print("\nRemoving items through discard() method..."); Months.discard("Feb"); print("\nprinting the modified set...") print(Months) print("\nRemoving items through remove() method..."); Months.remove("Jan") print("\nPrinting the modified set...") print(Months)
Operasi Set Python
Himpunan dapat dilakukan operasi matematika seperti gabungan, irisan, selisih, dan selisih simetris. Python menyediakan fasilitas untuk melakukan operasi tersebut dengan operator atau metode. Kami menggambarkan operasi ini sebagai berikut.
Gabungan Dua Set
Penyatuan dua himpunan dihitung dengan menggunakan operator pipa (|). Penyatuan dua set berisi semua item yang ada di kedua set.
Perhatikan contoh berikut untuk menghitung penyatuan dua himpunan.
Gabungan Operator
Days1 = {"Monday","Tuesday","Wednesday","Thursday", "Sunday"} Days2 = {"Friday", "Saturday", "Sunday"} print(Days1|Days2)
Metode Gabungan
Days1 = {"Monday", "Tuesday", "Wednesday", "Thursday"} Days2 = {"Friday", "Saturday", "Sunday"} print(Days1.union(Days2))
Irisan Dua Set
Irisan dua himpunan dapat dilakukan oleh operator and & atau fungsi interseksi(). Irisan dua himpunan diberikan sebagai himpunan elemen yang sama di kedua himpunan.
Menggunakan And & Operator
Days1 = {"Monday", "Tuesday", "Wednesday", "Thursday"} Days2 = {"Monday", "Tuesday", "Sunday", "Friday"} print(Days1&Days2)
Menggunakan Intersection Metode
Contoh 1 :
set1 = {"Joe", "John", "David", "Martin"} set2 = {"Steve", "Milan", "David", "Martin"} print(set1.intersection(set2))
Contoh 2 :
set1 = {1,2,3,4,5,6,7} set2 = {1,2,20,32,5,9} set3 = set1.intersection(set2) print(set3)
Intersection Update
Metode intersection_update() menghapus item dari set asli yang tidak ada di kedua set (semua set jika lebih dari satu ditetapkan).
Metode intersection_update() berbeda dengan metode intersection() karena metode ini memodifikasi set asli dengan menghapus item yang tidak diinginkan, di sisi lain, metode interseksi() mengembalikan set baru.
Perhatikan contoh berikut.
a = {"Devansh", "bob", "castle"} b = {"castle", "dude", "emyway"} c = {"fuson", "gaurav", "castle"} a.intersection_update(b, c) print(a)
Selisih Dua Set
Selisih dua himpunan dapat dihitung dengan menggunakan operator pengurangan (-) atau metode irisan (). Misalkan ada dua himpunan A dan B, dan selisihnya adalah A-B yang menandakan himpunan yang dihasilkan akan diperoleh elemen dari A, yang tidak terdapat pada himpunan B.
Menggunakan Operator (-)
Days1 = {"Monday", "Tuesday", "Wednesday", "Thursday"} Days2 = {"Monday", "Tuesday", "Sunday"} print(Days1-Days2)
Menggunakan Difference Metode
Days1 = {"Monday", "Tuesday", "Wednesday", "Thursday"} Days2 = {"Monday", "Tuesday", "Sunday"} print(Days1.difference(Days2))
Selisih Simetris Dua Set
Selisih simetris dari dua set dihitung dengan operator ^ atau metode symmetric_difference(). Selisih simetris set, menghilangkan elemen yang ada di kedua set. Pertimbangkan contoh berikut:
Operator ^
a = {1,2,3,4,5,6} b = {1,2,9,8,10} c = a^b print(c)
Methode Symmetric Difference
a = {1,2,3,4,5,6} b = {1,2,9,8,10} c = a.symmetric_difference(b) print(c)
Perbandingan Set
Python memungkinkan kita untuk menggunakan operator perbandingan yaitu, <, >, <=, >= , == dengan set yang dengannya kita dapat memeriksa apakah suatu set adalah subset, superset, atau setara dengan set lainnya. Boolean benar atau salah dikembalikan tergantung pada item yang ada di dalam set.
Perhatikan contoh berikut.
Days1 = {"Monday", "Tuesday", "Wednesday", "Thursday"} Days2 = {"Monday", "Tuesday"} Days3 = {"Monday", "Tuesday", "Friday"} print (Days1>Days2) print (Days1<Days2) print (Days2 == Days3)
Bagian Akhir
Python Sets adalah tipe data koleksi tidak terurut yang dapat diubah, dapat diubah, dan tidak memiliki elemen duplikat. Dalam Belajar Python kali ini kita sudah mengenal Apa itu Set, berbagai metode yang dapat digunakan pada set dan operasi dasar set yang disediakan oleh python.
Temukan lebih banyak artikel seri belajar Python maupun bahasa pemrograman lainnya hanya di CODEKEY. Klik https://codekey.id/ sekarang juga untuk langsung belajar gratis. Sampai bertemu lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.