Selisih dan Selisih Simetris
Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 20 dari 56.
Dua operasi set lainnya melengkapi perangkat ini.
subtracting mengembalikan elemen dari set pertama yang tidak ada di set kedua:
let a: Set = [1, 2, 3, 4]
let b: Set = [3, 4, 5]
a.subtracting(b) // {1, 2}symmetricDifference mengembalikan elemen yang hanya terdapat di salah satu dari kedua set, tidak pernah di keduanya:
a.symmetricDifference(b) // {1, 2, 5}Bersama dengan union dan intersection, keempatnya mencakup semua soal aljabar set yang akan kamu temui sehari-hari.
Keanggotaan set juga berguna sebagai filter: tanyakan apakah suatu nilai ada di dalam set dalam O(1):
let stopwords: Set = ["the", "a", "an"]
let words = ["the", "cat", "sat", "on", "a", "mat"]
let real = words.filter { !stopwords.contains($0) }
// ["cat", "sat", "on", "mat"]Tantangan
MudahBaca dua baris input, masing-masing berupa list string yang dipisahkan koma. Perlakukan keduanya sebagai currentMembers dan renewedMembers.
Cetak tiga baris, masing-masing diurutkan secara alfabetis dan digabungkan dengan , (atau kosong jika tidak ada):
Lapsed: <...>> current dikurangi renewedNew: <...>> renewed dikurangi currentStayed: <...>> irisan keduanya
Untuk input alice,bob,cara pada baris 1 dan bob,cara,dan pada baris 2, output-nya adalah:
Lapsed: alice
New: dan
Stayed: bob,caraCoba sendiri
let current = Set(readLine()!.components(separatedBy: ","))
let renewed = Set(readLine()!.components(separatedBy: ","))
// TODO: cetak Lapsed (current - renewed), New (renewed - current), Stayed (irisan)
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Jumlah dan indeksHuruf besar, huruf kecil, dan hapus spasiMencari dalam stringMemisahkan dan menggabungkanMengganti substringUlasan: Memeriksa nama pengguna4set
Membuat setGabungan dan IrisanSelisih dan Selisih SimetrisHimpunan Bagian dan Himpunan SupersetRingkasan: Filter Tag7Proyek: Pelacak Kebiasaan
Gambaran Umum ProyekTandai Selesai2Rentang dan Langkah
Rentang Tertutup vs Setengah TerbukaLangkahMetode RentangRentang dalam SwitchRangkuman: Kisi KalenderLatihan sendiri: Playground Swift