Xah Talk Show 2025-01-20 Ep608 Wolfram Language, Association List (Dictionary, Map, Hashtable)

vidthumb -CFbiTntlfU
vidthumb -CFbiTntlfU
Association[ a -> 1, b -> 2]

(* <|a -> 1, b -> 2|> *)

AssociationMap[ Function[{x}, x] , {1,2,3} ]
(* <|1 -> 1, 2 -> 2, 3 -> 3|> *)

AssociationMap[ Function[{x}, x^2] , {1,2,3} ]
(* <|1 -> 1, 2 -> 4, 3 -> 9|> *)

(* HHHH------------------------------ *)

AssociationThread[ {"a", "b" , "c"} , {1,2,3} ]
(* <|a -> 1, b -> 2, c -> 3|> *)

(* HHHH------------------------------ *)

xx = Association[ "a" -> 1, "b" -> 2];
xx["b"]
(* 2 *)

xx = Association[ aa -> 1, bb -> 2];
xx[bb]
(* 2 *)

xx = Association[ aa -> 1, {x^2+ y^2/z} -> 2 ];
(* <|aa -> 1, {x^2 + y^2/z} -> 2|> *)

xx = Association[ aa -> 1, {x^2+ y^2/z} -> 2 ];
xx[ {x^2+ y^2/z} ]
(* 2 *)

xx = Association[ 1 -> 88, 2 -> 428, {1,2} -> 2 ];
xx[ {1,2} ]
(* 2 *)

(* HHHH------------------------------ *)

Expand[ (x^2+ y^3/z)^3 ]
x^6 + y^9/z^3 + (3*x^2*y^6)/z^2 + (3*x^4*y^3)/z

xx = Association[ (x^2+ y^3/z)^3 -> 2 ]
<|(x^2 + y^3/z)^3 -> 2|>

xx = Association[
Expand[ (x^2+ y^3/z)^3 ] -> 2
 ]
<|
x^6 + y^9/z^3 + (3*x^2*y^6)/z^2 + (3*x^4*y^3)/z
->
2
|>

(* HHHH------------------------------ *)

xx = Association[ 1 -> a, 2 -> b, 3 -> c, 4 -> d ];
KeySelect[ xx , EvenQ ]

xx = Association[ x -> a, x^2 -> b, 3 z -> c];
KeySelect[ xx , Function[{x}, MemberQ[ x , z, {1,Infinity} ] ] ]
(* <|3*z -> c|> *)

(* HHHH------------------------------ *)

MemberQ[ 3 z + {z, y^2}, z ]
(* False *)

MemberQ[ 3 z + {z, y^2}, z, {1,Infinity} ]
(* True *)

MatchQ[ x, z ]

(* HHHH------------------------------ *)

(* HHHH------------------------------ *)

xx = Association[ "a" -> 1, "b" -> 2];
Lookup[ xx, "b" ]
(* 2 *)

(* HHHH------------------------------ *)

xx = Association[ aa -> 1, {bb, x^2} -> 2];