dictionary - Octave:创建和初始化结构的简洁方法
问题描述
我有一个长度为 3 的字符串单元数组
headers_ca =
{
[1,1] = time
[1,2] = x
[1,3] = y
}
我想创建一个struct
模仿 python dict 的值,其中的值headers_ca
作为键(Octave 中的字段名)和所有条目的初始值设定ival
项。这将是一个struct
,因为它甚至dict
存在于八度音阶中,它已被弃用。
我能做到(蛮力)s = struct("time", ival, "x", ival, "y", ival);
最简洁的方法是什么?
我知道我可以做一个 for 循环。 可以避免吗?
我将使用更长的单元阵列。
解决方案
您可以使用struct或cell2struct来创建结构。
headers_ca = {'time','x','y'};
headers_ca(2, :) = {ival};
s = struct(headers_ca{:});
headers_ca = {'time','x','y'};
ivals = repmat({ival}, numel(headers_ca), 1);
s = cell2struct(ivals, headers_ca);
推荐阅读
- java - 编译一个c++(包括jni和nuget包)文件:“LNK2019: unresolved external symbol”错误
- r - 过滤多列以获取 R 中的行数
- reactjs - Nexus 和 GraphQL:“上下文”类型的根输入路径不存在
- c++ - 在哪里可以找到所有 C++ 函数的列表?
- python - 调用super时的pytest monkeypatch类方法
- python - 如何创建嵌套列表并在每个嵌套中放置特定数量的元素?list 和它的嵌套元素总是不一样的
- node.js - 如果 setInterval 阻塞,它会等待里面的动作吗?
- sql - SQL bigquery:上个月的布尔列
- c# - WPF 绑定到元组作为字典值
- python - 从嵌套的 JSON 值创建字典键和值对