matlab map容器,MATLAB自学笔记(四):map容器

map容器

1.map容器类型及map类概述

map的本义是映射,就是可以将一个量映射到另一个量。

比如将一个字符串映射为一个数值,那么这个字符串就是map的键(key),那个值就是map的数据(value)。

因此,可以将map容器理解为一个快速查找数据结构的键。

对一个map元素进行访问的索引称为“键”。一个键可以是字符串、标量实数或整数。

map类的所有对象具有三种属性,只能通过map类的函数进行修改。

属性

说明

默认值

Count

uint64,表示map对象中key/value对的总数

0

KeyType

字符串,表示map对象中包括的key的类型

char

ValueType

字符串,表示map对象中包括的数据类型

any

2.创建map对象

map是一个map类中的对象,由MATLAB中名为“容器”的一个包来定义,可以通过构造函数来创建,举例如下:

星期一

星期二

星期三

星期四

星期五

数学

英语

历史

生物

地理

Python

>> schedule_map = containers.Map({'Monday','Teusday','Wednesday','Thursday','Friday'},{'Math','English','History','Biology','Geography'})

1

>>schedule_map=containers.Map({'Monday','Teusday','Wednesday','Thursday','Friday'},{'Math','English','History','Biology','Geography'})

运行结果如下:

Python

schedule_map =

Map (具有属性):

Count: 5

KeyType: char

ValueType: char

1

2

3

4

5

6

7

schedule_map=

Map(具有属性):

Count:5

KeyType:char

ValueType:char

创建一个空对象:

Python

>> New_map = containers.Map()

1

>>New_map=containers.Map()

3.查看/读取map对象

查看map对象:

map对象中,每个条目包含两部分:一个惟一的键及其对应的值。

可通过keys函数查看map对象中包含的所有键;values函数查看所有值。举例如下:

Python

>> keys(schedule_map)

>> values(schedule_map)

1

2

3

>>keys(schedule_map)

>>values(schedule_map)

结果如下:

Python

ans =

'Friday' 'Monday' 'Teusday' 'Thursday' 'Wednesday'

ans =

'Geography' 'Math' 'English' 'Biology' 'History'

1

2

3

4

5

6

7

ans=

'Friday''Monday''Teusday''Thursday''Wednesday'

ans=

'Geography''Math''English''Biology''History'

读取map对象

创建好map对象之后,用户便可以访问其数据。

当键名是一个字符串时,需用单引号将其括起来。举例如下:

Python

>> course = schedule_map('Wednesday')

course =

History

1

2

3

4

5

>>course=schedule_map('Wednesday')

course=

History

若访问多个键,则可使用values函数:

Python

>> values(schedule_map,{'Monday','Teusday'})

ans =

'Math' 'English'

1

2

3

4

5

>>values(schedule_map,{'Monday','Teusday'})

ans=

'Math''English'

注:在访问多个键时,不能利用“:”进行访问,因为冒号操作数必须为实际标量。

4.编辑map对象

删除keys/values对:

利用remove函数,其调用格式如下:

>> remove(‘mapName’,’keyName’)

举例:

Python

>> remove(schedule_map,'Monday')

>> keys(schedule_map)

>> values(schedule_map)

1

2

3

4

5

>>remove(schedule_map,'Monday')

>>keys(schedule_map)

>>values(schedule_map)

结果中显示原map对象中少了一项:

Python

ans =

Map (具有属性):

Count: 4

KeyType: char

ValueType: char

ans =

'Friday' 'Teusday' 'Thursday' 'Wednesday'

ans =

'Geography' 'English' 'Biology' 'History'

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

ans=

Map(具有属性):

Count:4

KeyType:char

ValueType:char

ans=

'Friday''Teusday''Thursday''Wednesday'

ans=

'Geography''English''Biology''History'

添加keys/values对

当用户向一个map对象中写入新元素的值时,需要提供键名,而且该键的类型必须和map中的其他键一致。该操作的调用格式是:

>> existingMapObj (newKeyName) = newValue;

举例如下:

Python

>> schedule_map('Saturday') = 'public elective course'

>> keys(schedule_map)

>> values(schedule_map)

1

2

3

4

5

>>schedule_map('Saturday')='public elective course'

>>keys(schedule_map)

>>values(schedule_map)

结果:

Python

schedule_map =

Map (具有属性):

Count: 5

KeyType: char

ValueType: char

ans =

'Friday' 'Saturday' 'Teusday' 'Thursday' 'Wednesday'

ans =

'Geography' 'public elective course' 'English' 'Biology' 'History'

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

schedule_map=

Map(具有属性):

Count:5

KeyType:char

ValueType:char

ans=

'Friday''Saturday''Teusday''Thursday''Wednesday'

ans=

'Geography''public elective course''English''Biology''History'

修改keys

若要在保持键名不变的情况下修改键的名称,则需要先删去键名和对应值,然后再重新添加。

修改values

同“添加keys/values对”

赞赏作者

喜欢 (1)or分享 (0)

你可能感兴趣的:(matlab,map容器)