辞書

Julia中級

Anthony Markham

Quantitative Developer

辞書 - 概要

  • 「キーと値」の組の集まり。
  • 値は対応するキーで参照します。
  • 型の混在が可能。
Julia中級

辞書 - なぜ便利か

  • キーで値にアクセス。直感的です。
stock = ["AAPL", 131.86, 100000]
println(stock[1])
AAPL
# 辞書の定義
stock = Dict("ticker" => "AAPL", "price" => 131.86)
println(stock["ticker"])
AAPL
Julia中級

辞書 - 型なし

  • Dict キーワードで辞書を定義
  • Key => value
  • 複数の組はカンマで区切る
stock = Dict("ticker" => "AAPL", "price" => 131.86)
Dict{String, Any} with 2 entries:
  "ticker" => "AAPL"
  "price"  => 131.86
  • データ型は混在し、事前定義は不要です。
Julia中級

辞書 - 型付き

  • 型付き辞書はキーや値の型を固定します。
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} with 2 entries:
  "ticker" => "AAPL"
  "age"    => 131.86
Julia中級

辞書 - 反復

  • 反復は馴染みのある他のデータ構造と同様です。
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)
Julia中級

辞書 - キーと値の反復

  • keys()values() は辞書のキーと値を返します。
for i in keys(stock)
    println(i)
end
ticker
price
Julia中級

辞書 - タプル展開での反復

  • タプル展開でキーと値を取り出す方法でも反復できます。
for (ticker, price) in stock
    println(ticker, " ", price)
end
ticker AAPL
price 131.86
Julia中級

辞書 - get()

  • get() で指定キーの値を取得します。
get(dictionary_name, dictionary_key, default_value)
  • 最後の引数は既定値。キーがなければこれを返します。
stock = Dict("ticker" => "AAPL", "price" => 131.86)
println(get(stock, "ticker", "Key not found."))
AAPL
  • 既定値を省きキーが見つからない場合、エラーになります。
Julia中級

辞書 - 変更

  • 新しいキーの追加、既存値の更新、キーの削除が可能です。
# 新しいキーを追加
stock["volume"] = 62128300
println(stock)
Dict{String, Any}("ticker" => "AAPL", "price" => 131.86, "volume" => 62128300)
# 既存の値を更新
stock["price"] = 125.27
println(stock)
Dict{String, Any}("ticker" => "AAPL", "price" => 125.27, "volume" => 62128300)
Julia中級

Passons à la pratique !

Julia中級

Preparing Video For Download...