Sözlükler

Orta Düzey Julia

Anthony Markham

Quantitative Developer

Sözlükler - giriş

  • 'anahtar-değer' çiftlerinden oluşan bir koleksiyon.
  • Her değere karşılık gelen anahtarla erişilir.
  • Karışık veri türlerine izin verilir.
Orta Düzey Julia

Sözlükler - neden kullanışlıdır?

  • Değerlere anahtar ile erişim, çok daha sezgiseldir
stock = ["AAPL", 131.86, 100000]
println(stock[1])
AAPL
# Dictionary definition
stock = Dict("ticker" => "AAPL", "price" => 131.86)
println(stock["ticker"])
AAPL
Orta Düzey Julia

Sözlükler - türsüz

  • Sözlük tanımlamak için Dict anahtar sözcüğü
  • Anahtar => değer
  • Anahtar/değer çiftlerini virgülle ayırın
stock = Dict("ticker" => "AAPL", "price" => 131.86)
Dict{String, Any} ile 2 girdi:
  "ticker" => "AAPL"
  "price"  => 131.86
  • Veri türleri karışık olabilir ve önceden tanımlı değildir.
Orta Düzey Julia

Sözlükler - tür belirtilmiş

  • Türlü sözlükler, anahtarın veya değerin belirli bir veri türünde olmasını zorlar.
stock_typed = Dict{String, Integer}("ticker" => "AAPL", "price" => 131.86)
MethodError: Cannot `convert` an object of type String to an object of type Integer
stock_typed = Dict{String, Any}("ticker" => "AAPL", "age" => 131.86)
Dict{String, Any} ile 2 girdi:
  "ticker" => "AAPL"
  "age"    => 131.86
Orta Düzey Julia

Sözlükler - yineleme

  • Yineleme, aşina olduğumuz diğer veri yapılarıyla benzerdir.
stock = Dict("ticker" => "AAPL", "price" => 131.86)
for i in stock
    println(i)
end
Pair{String, Any}("ticker", "AAPL")
Pair{String, Any}("price", 131.86)
Orta Düzey Julia

Sözlükler - anahtarlar ve değerlere yineleme

  • keys() ve values() bir sözlüğün anahtarlarını ve değerlerini döndürür.
for i in keys(stock)
    println(i)
end
ticker
price
Orta Düzey Julia

Sözlükler - tuple açma ile yineleme

  • Anahtar ve değerleri tuple açma ile yinelemek başka bir yöntemdir.
for (ticker, price) in stock
    println(ticker, " ", price)
end
ticker AAPL
price 131.86
Orta Düzey Julia

Sözlükler - get()

  • Belirli bir anahtarın değerini almak için get() kullanın.
get(dictionary_name, dictionary_key, default_value)
  • Son argüman varsayılan değerdir; anahtar bulunmazsa döner.
stock = Dict("ticker" => "AAPL", "price" => 131.86)
println(get(stock, "ticker", "Key not found."))
AAPL
  • Varsayılan değer verilmez ve anahtar yoksa hata alınır.
Orta Düzey Julia

Sözlükler - değiştirme

  • Yeni anahtar ekleyebilir, mevcut değerleri değiştirebilir ve anahtar silebiliriz.
# Add a new key
stock["volume"] = 62128300
println(stock)
Dict{String, Any}("ticker" => "AAPL", "price" => 131.86, "volume" => 62128300)
# Modify an existing value
stock["price"] = 125.27
println(stock)
Dict{String, Any}("ticker" => "AAPL", "price" => 125.27, "volume" => 62128300)
Orta Düzey Julia

Hadi pratik yapalım!

Orta Düzey Julia

Preparing Video For Download...