[Machine-Learning] 熟悉 Matlab 中的 map
概述
map 的意思是映射,即将一个变量映射到另一个变量。
比如将一个字符串映射为一个数值,那个字符串就是map 的键值(key),数值就是map的数据(value)。
由此可以把map理解为一个哈希表。
应用于map 的键值可以是下面任意一种数据类型:
- 1 * N 的字符串
- 单精度或者双精度的实数
- 有符号或者无符号的整形数
可以看出,矩阵不能作为键值。
而map的键值可以存储的数据是任意类型的,包括数值、字符串、单元类型等。
map 的属性
属性 | 说明 | 默认值 |
---|---|---|
Count | 无符号64位整数,表示map对象中存储的key/value 对的总数 | 0 |
KeyType | 字符串,表示map对象中包括的key的类型 | char |
ValueType | 字符串,表示map对象中包括的数据类型 | any |
后面我们会在解释器中看这几个属性是怎么回事。
创建map对象
map 是 map 类中的对象,由一个containers
包来定义,可以通过构造函数来实现:
上面是一个直接的的创建方法,map对象的创建过程可以分为:
- 创建一个空map对象
- 使用 keys 和 values 方法对其进行内容填充
使用下面的代码创建一个空map:
读取 map 对象
使用 keys
和 maps
函数可以查看 map 对象的内容:
使用 ()
实现 通过键值访问数值功能,这个是核心功能:
修改 map 对象
删除
使用 remove
函数 删除 键-值 对 :
修改
使用 ()
操作直接修改即可:
添加
和修改一样,使用 ()
操作: