Memperbarui dictionary
Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 14 dari 56.
Kamu menulis ke dictionary dengan cara yang sama seperti saat membacanya: menggunakan subskrip.
var prices: [String: Int] = ["apple": 1]
prices["bread"] = 3 // menambahkan kunci
prices["apple"] = 2 // memperbarui kunci yang sudah ada
prices["apple"] = nil // menghapus kunciDua method bernama melakukan hal yang sama dengan lebih eksplisit:
prices.updateValue(5, forKey: "milk") // mengembalikan nilai lama, atau nil
prices.removeValue(forKey: "bread") // mengembalikan nilai yang dihapus, atau nilMethod bernama mengembalikan nilai sebelumnya, yang berguna saat kamu perlu mengetahui apakah kunci tersebut sudah ada.
Pola subskrip default dari pelajaran sebelumnya berpadu sempurna dengan mutasi. Begini cara membuat penghitung tanpa menulis if:
var counts: [String: Int] = [:]
for letter in ["a", "b", "a"] {
counts[letter, default: 0] += 1
}
// counts == ["a": 2, "b": 1]Tantangan
SedangBaca satu baris input: daftar operasi yang dipisahkan koma untuk dictionary awal. Setiap operasi adalah salah satu dari:
set:<key>:<value>tambahkan atau perbarui (nilai berupa bilangan bulat)add:<key>:<value>tambahkan nilai ke nilai yang sudah ada (gunakan pola default-subscript)del:<key>hapus key
Setelah menerapkan setiap operasi secara berurutan ke [String: Int] yang awalnya kosong, cetak key dalam urutan alfabetis, satu per baris, dengan format <key>=<value>.
Untuk input set:a:5,add:a:3,set:b:1,del:b,add:c:2, output-nya adalah:
a=8
c=2Coba sendiri
let ops = readLine()!.components(separatedBy: ",")
var dict: [String: Int] = [:]
// TODO: uraikan setiap op dan terapkan set/add/del; cetak key yang sudah diurutkan beserta nilainya
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 Kalender3dictionary
Mendeklarasikan dictionaryPencarian OpsionalMemperbarui dictionaryMenelusuri dictionaryMengelompokkan NilaiRangkuman: Inventaris6Fungsi Orde Tinggi Bagian 2
compactMapflatMapsorted(by:)Membangun PipelineRingkasan: Papan PeringkatLatihan sendiri: Playground Swift