在Python中:my_list = []
my_dict_a = {1: 'one'}
my_dict_b = {2: 'two'}
my_dict_c = {3: 'three'}
my_list.append(my_dict_a)
my_list.append(my_dict_b)
my_list.append(my_dict_c)
其中my_list现在等于[{1: 'one'}, {2: 'two'}, {3: 'three'}]。在
如果我们能说容器。地图基本相当于一个python dict,MATLAB等价于上面的python append是什么?在
我在MATLAB中所做的尝试:
了解:
^{pr2}$
以及>a={};
>b=1;
>a=[a,b]
a = [1]
>a=[a,b]
a = [1] [1]
>a=[a,b]
a = [1] [1] [1]
以及>a = [a; b]
a = 1
>a = [a; b]
a = 1
1
>a = [a; b]
a =
1
1
1
但当我尝试对containers.Map对象执行相同操作时:>dictA=containers.Map();
>dictA('first')=1;
>dictA('second')=2;
>dictA('third')=3;
>a=[];
>a = [a, dictA]
a =
Map with properties:
Count: 3
KeyType: char
ValueType: any
>a = [a, dictA]
Error using containers.Map/horzcat
Horizontal concatenation is not supported by a containers.Map.
好吧。但关于:>a=[];
>a = [a; dictA]
a =
Map with properties:
Count: 3
KeyType: char
ValueType: any
>a = [a; dictA]
a =
Map with properties:
Count: 3
KeyType: char
ValueType: any
>whos a
Name Size Bytes Class Attributes
a 3x1 112 containers.Map
但它并没有持续地增加:>a={};
>a = [a; dictA]
a =
Map with properties:
Count: 3
KeyType: char
ValueType: any
>a = [a; dictA]
a =
Map with properties:
Count: 3
KeyType: char
ValueType: any
>whos a
Name Size Bytes Class Attributes
a 3x1 112 containers.Map
但是>{dictA}
ans =
[3x1 containers.Map]
>a = {};
>a = [{a}; {dictA}]
a =
{}
[3x1 containers.Map]
>a = [{a}; {dictA}]
a =
{2x1 cell }
[3x1 containers.Map]
>whos a
Name Size Bytes Class Attributes
a 2x1 672 cell
>a = [{a}; {dictA}]
a =
{2x1 cell }
[3x1 containers.Map]
>whos a
Name Size Bytes Class Attributes
a 2x1 1008 cell
>a = {};
>a = {a dictA}
a =
{} [3x1 containers.Map]
>whos a
Name Size Bytes Class Attributes
a 1x2 336 cell
a = {a dictA}
a =
{1x2 cell} [3x1 containers.Map]
>whos a
Name Size Bytes Class Attributes
a 1x2 672 cell
最后>a = {};
>a = {[a] [dictA]}
a =
{} [3x1 containers.Map]
>a = {[a] [dictA]}
a =
{1x2 cell} [3x1 containers.Map]
>a = {[a] [dictA]}
a =
{1x2 cell} [3x1 containers.Map]