День 2 Летней школы Julia 2025
作者
Словари
В Julia словари (англ. dictionaries) — это коллекции, которые хранят данные в виде пар "ключ-значение".
Пара в Julia - отдельный тип, который задаётся при помощи символов =>
Они похожи на ассоциативные массивы и являются хэш-таблицами. Ключи в словаре должны быть уникальными, а значения могут быть любого типа.
Словари в Julia неупорядоченны.
In [ ]:
typeof(1=>"один")
In [ ]:
int2rus = Dict(1=>"один", 2=>"два", 3=>"три")
In [ ]:
eng2rus = Dict("one"=>"один","two"=>"два","three"=>"три")
При помощи zip можно создать словарь на основе двух массивов.
In [ ]:
int2eng = Dict(zip([1,2,3],["one","two","three"]))
Объединение словарей
Чтобы объединить два словаря используйте merge
In [ ]:
int_eng_2_rus = merge(int2rus, eng2rus)
In [ ]:
int_eng_2_rus[1]
In [ ]:
int_eng_2_rus["two"]
In [ ]:
int2rus
In [ ]:
int2rus[4] = "четыре"
In [ ]:
int2rus
Уникальность ключей
Если мы пытаемся вставить в словарь новый элемент с уже имеющимся значением, то старое значение перезапишется.
In [ ]:
int2mixed = Dict(1=>"один", 1=>"one", 2 => "two")
In [ ]:
int2mixed[1] = "один"
int2mixed
При слиянии происходит похожая ситуация.
In [ ]:
dict1 = Dict("a" => 1, "b" => 2)
dict2 = Dict("b" => 3, "c" => 4)
merged_dict = merge(dict1, dict2)
println(merged_dict)
Важно учитывать, что ключи сравниваются ПО ЗНАЧЕНИЮ
In [ ]:
true == 1 == 1.
Поэтому 2 раза произойдёт перезапись:
In [ ]:
Dict(1 => "один", 1. => "Float 1", true => "истина")