将地图的键,值添加到字符串
的最佳方式是什么?例如:
>> keySet = {'Jan', 'Feb', 'Mar', 'Apr'};
>> valueSet = [327.2, 368.2, 197.6, 178.4];
>> mapObj = containers.Map(keySet,valueSet)
我想将mapObj
转换为类似
'Jan=327.2, Fab=368.2, Mar=197.6, Apr=178.4'
我尝试使用库foreach
link循环,循环键,值,但我认为可能有更好的解决方案。感谢。
答案 0 :(得分:2)
这应该可以解决问题:
c = [keys(mapObj); values(mapObj)];
outStr = sprintf('%s=%.1f, ', c{:});
outStr(end-1:end) = []; % remove last comma and space
给出:
outStr =
Apr=178.4, Feb=368.2, Jan=327.2, Mar=197.6
如果您希望使用与创建地图时相同的按键顺序,则可以执行以下操作:
c = [keySet; values(mapObj, keySet)];
outStr = sprintf('%s=%.1f, ', c{:});
outStr(end-1:end) = []; % remove last comma
这给出了:
outStr =
Jan=327.2, Feb=368.2, Mar=197.6, Apr=178.4