
Pengarang: Vivek Chaudhary
Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.
Tujuan artikel ini adalah untuk memahami Tuple dan Kamus Struktur Data Julia dan berbagai operasi yang terkait dengannya.
TUPLES: adalah kumpulan nilai-nilai berbeda yang tidak dapat diubah dari tipe data yang sama atau berbeda yang dipisahkan oleh koma.
Sintaks: (item1, item2, item3…)
Kamus: adalah kumpulan pasangan kunci-nilai, di mana setiap nilai dalam kamus dapat diakses dengan kuncinya. Pasangan nilai kunci ini tidak harus memiliki tipe data yang sama.
Sintaks: Dict(key1 => nilai1, key2 => nilai2, …)
Tuple dan metode()
#buat tupel kosong
t1=()
println(“Jika Tuple kosong mengembalikan “, isempty(t1))
t1=(“julia”,”python”,”sql”)
println(“Jika Tuple tidak kosong kembali “,isempty(t1)) Output:
Jika Tuple kosong mengembalikan true
Jika Tuple tidak kosong, kembalikan false
Pengindeksan, Pengirisan, Iterasi, dan Penugasan
#deklarasikan minuman tuple
minuman= (“kopi”,”teh”,”greentea”,”grrencoffee”,”teh jahe”) #Pengindeksan
println(minuman[1])
Output: kopi println (minuman[0]) #index di julia dimulai dari 1
BoundsError: mencoba mengakses NTuple{5, String} di indeks [0]
Stacktrace:
[1] getindex(t::Tuple, i::Int64)
@ Basis .tuple.jl:29
[2] lingkup tingkat atas
@ Di[7]:2
[3] evaluasi
@ .boot.jl:373 [inlined]
[4] include_string(mapexpr::typeof(REPL.softscope), mod::Module, kode::String, nama file::String)
@ Basis .loading.jl:1196
#Mengiris
println(minuman[2:4]) Keluaran:
(“teh”, “teh hijau”, “grrencoffee”) #Iterasi
println(“Mengulang Tuple :”)
untuk saya dalam minuman
println(i)
akhir Keluaran:
iterasi di atas tupel:
kopi
teh
teh hijau
kopi grren
teh jahe #Manipulasi Tuple:
minuman[3]= “teh kamomil” Keluaran:
MethodError: tidak ada metode yang cocok dengan setindex!(::NTuple{4, String}, ::String, ::Int64)
Stacktrace:
[1] lingkup tingkat atas
@ Di[7]:2
[2] evaluasi
@ .boot.jl:373 [inlined]
[3] include_string(mapexpr::typeof(REPL.softscope), mod::Module, kode::String, nama file::String)
@ Basis .loading.jl:1196
#Catatan: Tuple tidak dapat diubah, dan tidak mendukung penetapan item.
Metode tupel()
#membalikkan tupel
rev = terbalik (minuman)
println(rev) Output:(“teh jahe”, “grrencoffee”, “greentea”, “teh”, “kopi”) #panjang tupel
println(“panjang tupel”,panjang(minuman)) Output: panjang tupel 5 #periksa apakah kosong atau tidak
println(kosong(minuman)) Output: false
Named Tuples: sama seperti Tuples kecuali bahwa setiap elemen juga memiliki nama!
Mereka memiliki sintaks khusus menggunakan “=” di dalam tuple.
Sintaksis:
(nama1 = item1, nama2 = item2, …)
lang= (l1=”julia”,l2=”python”,l3=”SQL”)
println(lang) Output: (l1 = “julia”, l2 = “python”, l3 = “SQL”) println(lang[2]) Keluaran: python println(lang.l1) Keluaran: julia
Kamus dan metode()
#buat kamus
empIDs= Dict(“vivek”=>121,”aniket”=>134,”jagdish”=>101)
println(typeof(empIDs))
println(empIDs) Keluaran:
Dikte{String, Int64}
Dict(“jagdish” => 101, “vivek” => 121, “aniket” => 134) #buat dict dari Tuple
eds=[(“vivek”,2000),(“jagdish”,5000),(“aniket”,3500)]
println(tipe(eds))
println(eds) Keluaran:
Vektor{Tuple{String, Int64}}
[(“vivek”, 2000), (“jagdish”, 5000), (“aniket”, 3500)]
#ubah tuple menjadi kamus
edik=dikte(eds)
println(tipe(ketetapan))
println(dekrit) Keluaran:
Dikte{String, Int64}
Dict(“jagdish” => 5000, “vivek” => 2000, “aniket” => 3500)
Akses item Kamus
println(dekrit)
Keluaran:
Dict(“jagdish” => 5000, “vivek” => 2000, “aniket” => 3500) key=keys(edict)
println(“Kuncinya adalah :”,,kunci)
Output: kuncinya adalah:[“jagdish”, “vivek”, “aniket”]
val=nilai(dekrit)
println(“Nilainya adalah :”, val)
Keluaran: nilainya adalah:[5000, 2000, 3500]
#Iterate di atas kamus menggunakan for loop
untuk (kunci, val) dalam dekrit
println(kunci,”=>”,val)
akhir Keluaran:
jagdish=>5000
vivek=>2000
aniket=>3500
Metode kamus()
get() dan getkey()
#get() metode: Mengembalikan nilai yang disimpan untuk kunci yang diberikan
#syntax: get(collection, key, default) println(edict)
Keluaran:
Dict(“jagdish” => 5000, “vivek” => 2000, “aniket” => 3500) println(get(edict,”vivek”,-1))
Output: 2000 #nilai default adalah wajib jika tidak maka akan menimbulkan kesalahan
println(“Kunci tidak ditemukan “,get(edict,”viv”,0))
Output: Kunci tidak ditemukan 0 #tanpa nilai default
println(“Kunci tidak ditemukan “,get(edict,”viv”)) Output:
MethodError: tidak ada metode yang cocok get(::Dict{String, Int64}, ::String)
Kandidat terdekat adalah:
get(::Dict{K, V}, ::Any, ::Any) dimana {K, V} di C:UserslenovoAppDataLocalProgramsJulia-1.7.1sharejuliabase dict.jl:506
dapatkan(::IJulia.IJuliaStdio, ::Any, ::Any) di C:Userslenovo.juliapackagesIJuliae8kqUsrcstdio.jl:21
dapatkan(::Test.GenericDict, ::Any, ::Any) di C:UserslenovoAppDataLocalProgramsJulia-1.7.1sharejuliastdlibv1.7Testsrc Test.jl: 1800
…
Stacktrace:
[1] lingkup tingkat atas
@ Di[57]:7
[2] evaluasi
@ .boot.jl:373 [inlined]
[3] include_string(mapexpr::typeof(REPL.softscope), mod::Module, kode::String, nama file::String)
@ Basis .loading.jl:1196
#getkey()
Kembalikan kunci argumen pencocokan kunci jika ada dalam koleksi, jika tidak kembalikan default. println(getkey(dekrit,”aniket”,-1))
Keluaran: aniket println(getkey(edict,”viv”,-1))
Keluaran: -1
hapus () item
println(dekrit)
Keluaran:
Dict(“jagdish” => 5000, “vivek” => 2000, “aniket” => 3500) hapus!(edict,”vivek”)
println(dekrit)
Keluaran:
Dict(“jagdish” => 5000, “aniket” => 3500) #menghapus item yang tidak ada
hapus!(dekrit,”viv”)
Keluaran:
Dict{String, Int64} dengan 2 entri:
“jagdish” => 5000
“aniket” => 3500
menggabungkan () kamus
#merge kamus menggunakan merge()
d1 = Dict(“a”=>1, “b”=>9, “c”=>3)
d2 = Dict(“e”=>7, “f”=>2, “h”=>5)
println(gabungkan(d1,d2))
Keluaran:
Dict(“f” => 2, “c” => 3, “e” => 7, “b” => 9, “a” => 1, “h” => 5) #kunci umum ada
d1 = Dict(“a”=>1, “b”=>9, “c”=>3)
d2 = Dict(“e”=>7, “b”=>2, “h”=>5)
println(gabungkan(d1,d2))
Keluaran:
Dict(“c” => 3, “e” => 7, “b” => 2, “a” => 1, “h” => 5) #merge kamus menggunakan mergewith()
d1 = Dict(“a”=>1, “b”=>9, “c”=>3)
d2 = Dict(“e”=>7, “b”=>2, “h”=>5)
println(gabung dengan!(+,d1,d2))
Keluaran:
Dict(“c” => 3, “e” => 7, “b” => 11, “a” => 1, “h” => 5)
menambah dan mengubah item dict
#tambahkan item baru ke dict
println(dekrit)
Keluaran: Dict(“jagdish” => 5000, “aniket” => 3500) dekrit[“vivek”]= 2700
println(dekrit)
Output: Dict(“jagdish” => 5000, “vivek” => 2700, “aniket” => 3500) #ubah dict vaue untuk sebuah kunci
println(dekrit)
Keluaran: Dict(“jagdish” => 5000, “vivek” => 2700, “aniket” => 3500)[“vivek”]=4000
println(dekrit)
Keluaran: Dict(“jagdish” => 5000, “vivek” => 4000, “aniket” => 3500)
Untuk meringkas:
Julia tuple dan metode tupel. Kamus dan metode.
Terima kasih telah membaca blog saya dan mendukung kontennya. Apresiasi selalu membantu menjaga semangat. Saya akan mencoba yang terbaik untuk terus menghasilkan konten yang berkualitas. Terhubung dengan saya untuk mendapatkan pembaruan tentang konten baru yang akan datang.
Tetap Dukung.
Julia Tuple and Dictionary awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.
Diterbitkan melalui Menuju AI