Union dan Intersection
Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 34 dari 78.
Dua set dapat digabungkan dengan dua cara umum:
- Union memuat setiap anggota yang ada di salah satu set.
- Intersection hanya memuat anggota yang ada di kedua set.
GDScript tidak memiliki operator untuk operasi ini, jadi kamu membuatnya dengan perulangan. Untuk gabungan, tambahkan anggota dari kedua set ke set baru. Anggota yang ada di kedua set akan berada pada kunci yang sama:
var mia := {"forest": true, "cave": true}
var leo := {"cave": true, "tower": true}
var either := {}
for place in mia:
either[place] = true
for place in leo:
either[place] = true
print(either.keys()) # ["forest", "cave", "tower"]Karena setiap nilai adalah true, merged() menghasilkan gabungan yang sama dalam satu pemanggilan: var either := mia.merged(leo). Fungsi ini mengembalikan dictionary baru dan membiarkan mia tetap tidak berubah.
Untuk irisan, lakukan perulangan pada satu set dan simpan anggota yang juga dimiliki set lainnya:
var both := {}
for place in mia:
if leo.has(place):
both[place] = true
print(both.keys()) # ["cave"]Jika kedua set tidak memiliki anggota yang sama, irisan keduanya kosong dan both.keys() adalah [].
Tantangan
MudahDua pemain masing-masing membuka beberapa skill. Program membaca dua baris, yaitu skill pemain pertama dan pemain kedua, yang dipisahkan oleh spasi, lalu kode awal membuat set first dan second.
Cetak gabungan dan irisan kedua set, dengan anggotanya digabungkan menggunakan , :
All skills:diikuti gabungan: skill pemain pertama, lalu skill baru pemain keduaShared skills:diikuti irisan, sesuai urutan pemain pertama, ataunonejika mereka tidak memiliki skill yang sama
Untuk input:
jump dash
dash swimoutputnya adalah:
All skills: jump, dash, swim
Shared skills: dashCoba sendiri
extends Node
func _ready():
var first := {}
for skill in OS.read_string_from_stdin().split(" ", false):
first[skill] = true
var second := {}
for skill in OS.read_string_from_stdin().split(" ", false):
second[skill] = true
# Buat gabungan dan irisan
# Cetak hasilnya
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Method untuk StringMencari dalam StringMengganti dan Menghapus SpasiMemisahkan dan MenggabungkanUlasan: Memeriksa Nama Pengguna4Dictionary Bagian 2
Dictionary BersarangArray berisi DictionaryMenggabungkan DictionaryMenyalin DictionaryRangkuman: Penghitung Frekuensi10Fungsi Lanjutan
Mengembalikan Beberapa NilaiFungsi Lambda Bagian 1Fungsi Lambda Bagian 2Ringkasan: Mengurutkan dengan LambdaFungsi Rekursif Bagian 1Fungsi Rekursif Bagian 2Ringkasan: Menjumlahkan array Bersarang13Sistem Manajemen Inventaris
Ikhtisar ProyekTambahkan Barang2Pengambilan Keputusan Lanjutan
Pencocokan dengan VariabelGuard pada MatchPola arrayPola dictionaryPemeriksaan KeanggotaanUlasan: Parser Perintah5Aplikasi Buku Kontak
Tampilkan MenuTambah Kontak8Pengelola Data Siswa
Gambaran Umum ProyekTambah Siswa11Fungsi Tingkat Tinggi
Method mapMethod filterMethod reduceany dan allUlasan: Validator EmailUlasan: Pemroses Angka3Array Multidimensi
Dasar-Dasar Array 2DMengakses Elemen Array 2DNested Loop dengan Array 2DRangkuman: Array 2DArray Tidak BeraturanPola Umum Array 2DRangkuman: Papan Permainan6Set dengan Dictionary
Apa Itu Set?Dictionary sebagai SetMenambahkan dan MenghapusUnion dan IntersectionSelisih SetRangkuman: Menghapus DuplikatLatihan sendiri: Compiler GDScript online