Lesson menggunakan set pada aljabar akan membahas kelebihan dari set, yaitu memudahkan perhitungan set algebra (aljabar). Memudahkan dalam melakuan perhitungan unions, set differences, set intersections, evaluasi apakah sebuah set memiliki subset, superset, atau disjoint dan relations.
>>> mata_biru = {'Olivia', 'Harry', 'Lily', 'Jack', 'Amelia'}
>>> rambut_pirang = {'Harry', 'Jack', 'Amelia', 'Mia', 'Joshua'}
>>> dayacium_hcn = {'Harry', 'Amelia'}
>>> dayarasa_ptc = {'Harry', 'Lily', 'Amelia', 'Lola'}
>>> gol_darah_o = {'Mia', 'Joshua', 'Lily', 'Olivia'}
>>> gol_darah_b = {'Amelia', 'Jack'}
>>> gol_darah_a = {'Harry'}
>>> gol_darah_ab = {'Joshua', 'Lola'}
- Untuk mencari siapa yang rambut pirang, mata biru atau keduanya, gunakan union(). (mencari anggota yang ada di set 1, atau set 2 atau di set 1 dan 2)
- Untuk mencari siapa yang berambut pirang dan bermata biru, kita gunakan intersection() (mencari anggota siapa yang ada di set 1 dan set 2)
- Untuk mencari siapa yang berambut pirang dan tidak bermata biru, kita gunakan difference() (mencari anggota yang ada di set 1 tapi tidak di set 2)
- Untuk mencari siapa yang hanya berambut pirang atau hanya bermata biru, tapi tidak keduanya, kita gunakan symmetric_difference(). (mencari anggota yang hanya ada di set 1 atau set 2, tetapi tidak di kedua set, kebalikan dari difference)
>>> mata_biru.union(rambut_pirang)
{'Amelia', 'Joshua', 'Harry', 'Jack', 'Olivia', 'Mia', 'Lily'}
>>> mata_biru.intersection(rambut_pirang)
{'Amelia', 'Harry', 'Jack'}
>>> rambut_pirang.difference(mata_biru)
{'Mia', 'Joshua'}
>>> rambut_pirang.symmetric_difference(mata_biru)
{'Joshua', 'Olivia', 'Mia', 'Lily'}
Relasi Antar Set
- Untuk memeriksa apakah sebuah set merupakan subset dari set tersebut, menggunakan issubset() method.
- Untuk memeriksa apakah set pertama merupakan superset dari set kedua, gunakan issuperset() method.
- Untuk memeriksa apakah dua set tidak memiliki anggota yang sama, gunakan isdisjoint() method.
>>> dayacium_hcn.issubset(rambut_pirang) True >>> dayarasa_ptc.issuperset(dayacium_hcn) True >>> gol_darah_a.isdisjoint(gol_darah_o) True
Set Comprehension
from math import factorial
{len(str(factorial(x))) for x in range(20)}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18}