如何在 MATLAB 中使用 python 字典对象?
How do I use a python dictionary object in MATLAB?
我正在使用 MATLAB 2014b 中的新功能,您可以直接从 matlab 调用 python 并在工作区中获取 python 对象(就像您可以使用 Java 很长一段时间)。我已经成功地调用了一个函数并将字典放入工作区,但我仍然不知道如何从中获取值。在这种情况下,我有一个充满字典的字典,所以我不能像他们在示例中那样将它转换为 MATLAB 单元格。
所以一个具体的问题:如果我在 MATLAB 中有一个名为 "A" 的字典,我如何得到子字典 A['2']?
通过查询 MATLAB External Interfaces documentation, the Python dict
type is essentially the same interface as a containers.Map
. You need to use the values
函数来提取您想要的某个键的值。因此,假设您的 Python 字典存储在 A
中并且您想使用 '2'
作为索引到字典中的键,您可以这样调用 values
:
val = values(A, '2');
因此,val
将包含与键 '2'
相关联的值。 MATLAB 还可以使用多个键,它会 return 多个值 - 每个键一个。因此,您也可以这样做:
val = cell(values(A, {'1', '2', '3'}));
val
将是一个三元素元胞数组,其中每个元素都是您输入的关联键的值。您必须将 values
的输出转换为 cell
数组,因为这通常是 Python 中的 list。为了在 MATLAB 中使用这些结果,我们需要转换为 cell
。
因此,当您使用 '1'
作为键时,val{1}
将是字典输出。同样,当您使用 '2'
作为键等时,val{2}
将是字典输出。
这里有一些对 containers.Map
对象的更多操作。如果您想要字典中的所有键,请使用 keys
函数:
k = keys(A);
如果您只是将 values
与字典一起使用,像这样:
val = cell(values(A));
它将为存储在元胞数组中的字典中的每个键生成 所有 个值。
如果您想更新 Python 词典中的特定键,请使用 update
函数:
update(A,py.dict(pyargs('4',5.677)));
这里,我们使用字典A
,更新键值对,其中键是'4'
,新值是5.677
.
我正在使用 MATLAB 2014b 中的新功能,您可以直接从 matlab 调用 python 并在工作区中获取 python 对象(就像您可以使用 Java 很长一段时间)。我已经成功地调用了一个函数并将字典放入工作区,但我仍然不知道如何从中获取值。在这种情况下,我有一个充满字典的字典,所以我不能像他们在示例中那样将它转换为 MATLAB 单元格。
所以一个具体的问题:如果我在 MATLAB 中有一个名为 "A" 的字典,我如何得到子字典 A['2']?
通过查询 MATLAB External Interfaces documentation, the Python dict
type is essentially the same interface as a containers.Map
. You need to use the values
函数来提取您想要的某个键的值。因此,假设您的 Python 字典存储在 A
中并且您想使用 '2'
作为索引到字典中的键,您可以这样调用 values
:
val = values(A, '2');
因此,val
将包含与键 '2'
相关联的值。 MATLAB 还可以使用多个键,它会 return 多个值 - 每个键一个。因此,您也可以这样做:
val = cell(values(A, {'1', '2', '3'}));
val
将是一个三元素元胞数组,其中每个元素都是您输入的关联键的值。您必须将 values
的输出转换为 cell
数组,因为这通常是 Python 中的 list。为了在 MATLAB 中使用这些结果,我们需要转换为 cell
。
因此,当您使用 '1'
作为键时,val{1}
将是字典输出。同样,当您使用 '2'
作为键等时,val{2}
将是字典输出。
这里有一些对 containers.Map
对象的更多操作。如果您想要字典中的所有键,请使用 keys
函数:
k = keys(A);
如果您只是将 values
与字典一起使用,像这样:
val = cell(values(A));
它将为存储在元胞数组中的字典中的每个键生成 所有 个值。
如果您想更新 Python 词典中的特定键,请使用 update
函数:
update(A,py.dict(pyargs('4',5.677)));
这里,我们使用字典A
,更新键值对,其中键是'4'
,新值是5.677
.