Python - Latihan Set

Helo di sana, para penyihir Python masa depan! Hari ini, kita akan melompat ke atas dunia penyihirannya tentang set Python. Jangan khawatir jika anda belum pernah mengkod sebelum ini – saya akan menjadi pemandu anda yang mesra pada perjalanan yang menarik ini. Pada akhir tutorial ini, anda akan dapat menjahit set seperti seorang pro!

Python - Set Exercises

Apa itu Set?

Sebelum kita melompat ke atas latihan kita, mari fahami dengan cepat apa itu set di Python. Bayangkan anda memiliki rak rakit, tetapi setiap rakit hanya boleh muncul sekali di atas rak itu. Itu hampir sama dengan apa itu set di Python – sebuah koleksi item yang unik.

Set adalah tak berurut, yang berarti item tidak memiliki posisi khusus. Mereka juga dapat diubah, jadi kita boleh menambah atau menghapus item. Walau bagaimanpun, item itu sendiri mestilah tidak dapat diubah (seperti angka atau rentetan, bukan senarai).

Sekarang, mari kita kunci lengan kita dan mulakan untuk mengkod!

Latihan Set Python 1: Membuat dan Mengurus Set

Membuat Set

Mari kita mulakan dengan membuat set sederhana:

buah = {"apel", "pisang", "ceri"}
print(buah)

Apabila anda menjalankan kod ini, anda akan lihat:

{'ceri', 'pisang', 'apel'}

Perhatikan bagaimana urutan mungkin berbeza daripada apa yang kita masukkan? Itu kerana set adalah tak berurut!

Menambah Item ke Set

Sekarang, mari kita tambahkan beberapa buah lagi ke set kita:

buah.add("buah naga")
print(buah)

buah.update(["elderberry", "fig"])
print(buah)

Output:

{'ceri', 'pisang', 'apel', 'buah naga'}
{'fig', 'ceri', 'pisang', 'elderberry', 'apel', 'buah naga'}

Lihat bagaimana kita menggunakan add() untuk item tunggal dan update() untuk beberapa item? Ia seperti menambah satu rakit ke rak rakit anda versus untuk menyemprotkan sebanyak banyak rakit!

Menghapus Item dari Set

Mari kita hapus beberapa buah:

buah.remove("pisang")
print(buah)

buah.discard("anggur")  # Ini tidak akan memunculkan ralat walaupun "anggur" tidak di set
print(buah)

Output:

{'fig', 'ceri', 'elderberry', 'apel', 'buah naga'}
{'fig', 'ceri', 'elderberry', 'apel', 'buah naga'}

remove() akan memunculkan ralat jika item tidak wujud, sementara discard() tidak. Ia seperti memilih rakit dengan hati-hati daripada untuk mencari rakit untuk dihapus secara santai.

Latihan Set Python 2: Operasi Set

Sekarang kita telah menguasai asas, mari kita main dengan beberapa set!

Gabungan Set

Bayangkan anda dan rakan anda keduanya memiliki rak rakit. Gabungan adalah semua rakit unik yang anda miliki bersama-sama.

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
gabungan_set = set1.union(set2)
print(gabungan_set)

Output:

{1, 2, 3, 4, 5, 6, 7, 8}

Pertalian Set

Pertalian adalah rakit yang keduanya miliki bersama.

pertalian_set = set1.intersection(set2)
print(pertalian_set)

Output:

{4, 5}

Perbezaan Set

Perbezaan adalah rakit yang anda miliki tetapi rakan anda tidak.

perbezaan_set = set1.difference(set2)
print(perbezaan_set)

Output:

{1, 2, 3}

Latihan Set Python 3: Operasi Set Lanjutan

Bersedia untuk meningkatkan level? Mari kita tangani beberapa operasi lanjutan!

Perbezaan Simetrik

Ini memberikan kita semua rakit yang ada di atas set, tetapi tidak di atas kedua-duanya.

perbezaan_simetrik = set1.symmetric_difference(set2)
print(perbezaan_simetrik)

Output:

{1, 2, 3, 6, 7, 8}

Subset dan Superset

Mari kita periksa jika satu set berada di atas set lain:

set3 = {1, 2, 3}
print(set3.issubset(set1))  # Adakah set3 adalah subset bagi set1?
print(set1.issuperset(set3))  # Adakah set1 adalah superset bagi set3?

Output:

True
True

Ia seperti memeriksa jika semua rakit anda juga berada di atas rak rakit rakan anda yang lebih besar!

Set Beku

Ada kalanya, kita perlu set yang tidak boleh diubah. Masukkan set beku:

buah_beku = frozenset(["apel", "pisang", "ceri"])
print(buah_beku)

# Ini akan memunculkan ralat:
# buah_beku.add("buah naga")

Output:

frozenset({'ceri', 'pisang', 'apel'})

Pikirkan set beku sebagai rak rakit yang dikukus di atas es – anda boleh melihat, tetapi anda tidak boleh menyentuh!

Ringkasan Methode Set

Berikut adalah rakam methode set yang kita telah pelajari:

Method Keterangan
add() Menambah elemen kepada set
update() Mengupdate set dengan elemen dari set atau iterable lain
remove() Menghapus elemen yang dinyatakan (memunculkan ralat jika tidak ditemui)
discard() Menghapus elemen yang dinyatakan (tidak memunculkan ralat jika tidak ditemui)
union() Mengembalikan set yang mengandung gabungan set
intersection() Mengembalikan set yang mengandung pertalian set
difference() Mengembalikan set yang mengandung perbezaan antara set
symmetric_difference() Mengembalikan set dengan elemen di atas set, tetapi bukannya kedua-duanya
issubset() Memeriksa jika set adalah subset bagi set lain
issuperset() Memeriksa jika set adalah superset bagi set lain

Dan itu untuk anda, rakyat! Anda baru saja meningkatkan skill Python anda dengan set. Ingat, praktek membuat perfect, jadi terus main dengan konsep ini. Sebelum anda tahu, anda akan dapat mengurus set seperti seorang penyihir Python yang sebenar!

Credits: Image by storyset