Dictionary with key-value pair of string ---> string array?

24 views (last 30 days)
Using the older containers.Map object, I can map a string to a string array:
keySet = ["Jan";"Feb";"Mar"];
valueSet = {["New Year","MLK"]; ["Valentine's","Presidents'"];[]};
M = containers.Map(keySet,valueSet);
M("Jan")
ans = 1x2 string array
"New Year" "MLK"
I have not found a way to make a similar mapping via the newer dictionary object (even though the documentation states that a dictionary is preferred "because it supports more data types as keys and values and provides better performance").
Maybe I'm overlooking something. Any suggestions are appreciated.

Accepted Answer

Paul
Paul on 6 Apr 2024
Hi cyclist,
Do you mean mapping to the string array contained inside the cell?
keySet = ["Jan";"Feb";"Mar"];
valueSet = {["New Year","MLK"]; ["Valentine's","Presidents'"];[]};
d = dictionary(keySet,valueSet)
d = dictionary (string --> cell) with 3 entries: "Jan" --> {["New Year" "MLK"]} "Feb" --> {["Valentine's" "Presidents'"]} "Mar" --> {0x0 double}
d("Jan")
ans = 1x1 cell array
{["New Year" "MLK"]}
d{"Jan"}
ans = 1x2 string array
"New Year" "MLK"
  1 Comment
the cyclist
the cyclist on 7 Apr 2024
Edited: the cyclist on 7 Apr 2024
I could have sworn I tried that exact syntax! sigh
Thanks for the answer.

Sign in to comment.

More Answers (0)

Categories

Find more on Dictionaries in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!