2024-07-03 06:23:53 发布
网友
我正在使用matlab2014b中的新功能,您可以直接从MATLAB调用python,并在工作区中获得python对象(就像您在Java上使用了很长时间一样)。我已经成功地调用了一个函数,并在工作区中获得了一个字典,但我仍然坚持如何从中获取值。在这个例子中,我有一个充满字典的字典,所以我不能像他们在例子中那样把它转换成MATLAB单元格。在
所以有一个具体的问题:如果我在MATLAB中有一个名为“a”的字典,如何将子字典a['2'取出?在
通过查阅MATLAB External Interfaces文档,Python dict类型与^{}本质上是相同的接口。您需要使用^{}函数来提取某个键所需的值。因此,如果您的Python字典存储在A中,并且您希望使用'2'作为索引到字典中的键,那么您可以像这样调用values:
dict
A
'2'
values
val = values(A, '2');
因此,val将包含与'2'键相关联的值。MATLAB还可以使用多个键,它将返回多个值-每个键一个。因此,您也可以这样做:
val
val将是一个三元素的单元格数组,其中每个元素是您输入的关联键的值。必须将values的输出转换为cell数组,因为这通常是Python中的列表。为了在MATLAB中使用这些结果,我们需要转换成cell。在
cell
因此,当您使用'1'作为键时,val{1}将是字典输出。类似地,当您使用'2'作为键时,val{2}将是字典输出。在
'1'
val{1}
val{2}
下面是对containers.Map对象的更多操作。如果您想要字典中的所有键,请使用^{}函数:
containers.Map
k = keys(A);
如果您只需将values与字典本身一起使用,如下所示:
val = cell(values(A));
存储在的数组中的所有值都将存储在数组中。在
如果要更新Python字典中的特定键,请使用update函数:
update
update(A,py.dict(pyargs('4',5.677)));
在这里,我们使用字典A,并且更新键值对,其中键是'4',新值是5.677。在
'4'
5.677
通过查阅MATLAB External Interfaces文档,Python} 本质上是相同的接口。您需要使用^{} 函数来提取某个键所需的值。因此,如果您的Python字典存储在
dict
类型与^{A
中,并且您希望使用'2'
作为索引到字典中的键,那么您可以像这样调用values
:因此,
^{pr2}$val
将包含与'2'
键相关联的值。MATLAB还可以使用多个键,它将返回多个值-每个键一个。因此,您也可以这样做:val
将是一个三元素的单元格数组,其中每个元素是您输入的关联键的值。必须将values
的输出转换为cell
数组,因为这通常是Python中的列表。为了在MATLAB中使用这些结果,我们需要转换成cell
。在因此,当您使用
'1'
作为键时,val{1}
将是字典输出。类似地,当您使用'2'
作为键时,val{2}
将是字典输出。在下面是对} 函数:
containers.Map
对象的更多操作。如果您想要字典中的所有键,请使用^{如果您只需将
values
与字典本身一起使用,如下所示:存储在的数组中的所有值都将存储在数组中。在
如果要更新Python字典中的特定键,请使用
update
函数:在这里,我们使用字典
A
,并且更新键值对,其中键是'4'
,新值是5.677
。在相关问题 更多 >
编程相关推荐