loading...

Rabu, 25 Oktober 2017

Tipe Set: set di Python


Set (himpunan) digunakan untuk menampung data atau objek-objek yang tidak terurut.
Untuk membuat suatu himpunan, gunakan fungsi set() dan menyertakan runtunan nilai yang akan dijadikan sebagai elemen-elemen himpunan tersebut sebagai parameternya.


BU : nama_set = set([nilai1, nilai2, nilai3, ...])

>>> s = set([20, 45, 11, 34])
>>> print(s)
{34, 11, 20, 45}

Kita membuat himpunan s yang beranggotakan 20, 45, 11, dan 34. Tipe set tidak memiliki metode khusus untuk mengakses setiap elemen di dalamnya.
Untuk mengakses elemen dari suatu himpunan, harus dikonversi ke tipe list terlebih dahulu dengan fungsi list().
>>> s[0]
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    s[0]
TypeError: 'set' object does not support indexing
>>> list(s)[0]
34

Anggota dari suatu himpunan bersifat unik. Tidak diperbolehkan ada anggota yang nilainya sama dalam suatu himpunan.
>>> s = set([10, 20, 10, 30, 20])
>>> s
{10, 20, 30}
>>> s1 = set("HELLO")
>>> s1
{'H', 'L', 'O', 'E'}

Untuk menambah elemen baru kedalam suatu himpunan, dapat menggunakan metode add() atau update().
>>> set=([11, 22, 33])
>>> s
{33, 11, 22}
>>> s.add(44)
>>> s
{33, 11, 44, 22}
>>> s.update([55, 66, 77])
>>> s
{33, 66, 11, 44, 77, 22, 55}

Untuk menghapus elemen dari himpunan, gunakan metode remove().
>>> s.remove(22)
>>> s
{33, 66, 11, 44, 77, 55}

Untuk menghapus semua elemen dari suatu himpunan, gunakan metode clear()
>>> s.clear()
>>> s
set()

Code: set.py
import sys

def printElements(s, info):
    print(info)
    if len(s) == 0:
        print("Himpunan kosong\n")
        sys.exit(1)
    for e in s:
        print(str(e) + " ", end='')
    print("\n")
 
def main():
    # membuat himpunan
    s = set([11, 22, 33, 44, 55])
    printElements(s, "Elemen awal: ")
 
    # menambahkan anggota/elemen baru
    # menggunakan metode add()
    s.add(66);
    s.add(77);
    printElements(s, "Setelah pemanggilam add():")
 
    # menambah anggota/elemen baru
    # menggunakan metode update()
    s.update([88, 99])
    printElements(s, "Setelah pemanggilan update()")
 
    # menghapus anggota dengan nilai 44
    s.remove(44)
    printElements(s, "Setelah pemanggilan remove()")
 
    # menghapus semua anggota
    s.clear()
    printElements(s, "Setelah pemanggilan clear()")
 
if __name__ == "__main__":
    main()


Tipe set mendukung operasi-operasi himpunan seperti operasi union (gabungan), intersection (irisan), difference (pengurangan), dan symmetric difference (beda simetris).
>>> x = set([1, 2, 3])
>>> y = set([3, 4])
>>> a = x | y # union
>>> a
{1, 2, 3, 4}
>>> b = x & y # intersection
>>> b
{3}
>>> c = x - y # difference
>>> c
{1, 2}
>>> d = x ^ y # symmetric difference
>>> d
{1, 2, 4}

Keterangan:

  • Union: gabungan dari himpunan x dan y.
  • Intersection: irisan dari himpunan x dan y (anggota yang ada di kedua himpunan).
  • Difference: anggota himpunan x, tapi tidak ada di himpunan y.
  • Symmetric difference: anggota yang ada di himpunan x atau y, tapi tidak ada di keduanya. Symmetric difference sama dengan union dikurangi intersection.


Sumber : Buku "Mudah belajar python untuk aplikasi desktop dan web"

Tidak ada komentar:

Posting Komentar