Merging multiple dictionaries with cell arrays

8 ビュー (過去 30 日間)
James
James 2025 年 6 月 3 日
編集済み: Stephen23 2025 年 6 月 3 日
How can one merge multiple dictionaries A and B with cell arrays to get C. Ideally, with some warning for clashes.
A = dictionary( ...
{ ...
"type", ...
"value" ...
}, ...
{...
"temporary", ...
1 ...
} ...
)
A = dictionary (cell --> cell) with 2 entries: {["type"]} --> {["temporary"]} {["value"]} --> {[1]}
B = dictionary( ...
{ ...
"color" ...
}, ...
{...
"blue" ...
} ...
)
B = dictionary (cell --> cell) with 1 entry: {["color"]} --> {["blue"]}
C = dictionary( ...
{ ...
"type", ...
"value", ...
"color" ...
}, ...
{...
"temporary", ...
1, ...
"blue" ...
} ...
)
C = dictionary (cell --> cell) with 3 entries: {["type"]} --> {["temporary"]} {["value"]} --> {[1]} {["color"]} --> {["blue"]}

採用された回答

Stephen23
Stephen23 2025 年 6 月 3 日
編集済み: Stephen23 2025 年 6 月 3 日
A = dictionary({"type","value"},{"temporary",1});
B = dictionary({"color"},{"blue"});
If you want to create a new merged dictionary without modifying the originals:
C = dictionary(A.keys, A.values);
C(B.keys) = B.values
C = dictionary (cell --> cell) with 3 entries: {["type"]} --> {["temporary"]} {["value"]} --> {[1]} {["color"]} --> {["blue"]}
If you can modify one of the original dictionaries:
A(B.keys) = B.values
A = dictionary (cell --> cell) with 3 entries: {["type"]} --> {["temporary"]} {["value"]} --> {[1]} {["color"]} --> {["blue"]}
You would have to experiment to find out how it behaves with duplicate keys.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDictionaries についてさらに検索

タグ

製品


リリース

R2025a

Community Treasure Hunt

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

Start Hunting!

Translated by