博客园  :: 首页  :: 管理

字典类型是当前各类语言中使用的最为广泛的组合数据类型,在PowerShell中被命名为哈希表类型-Hashtable

在Powershell中,哈希表也称为字典或关联阵列,是用于存储一个或多个键值对的紧凑数据结构。 

定义方式如下:

$dict = @{
    'key1' = 'value1'
    'key2' = 'value2'
    'key3' = 'value3'
    'Author'='QQ-5201351'
}

这里几个说明如下:

1、每个键值对,上面是通过换行符分隔的,如果需要写成一行,需要使用分号;进行分隔

2、默认情况下,上面的,哈希表-Hashtable,是无序的,也即 通过 foreach 去遍历 就可以发现,不是按我们定义的顺序输出的

3、可以在上面的 @ 符号前面加上 [ordered] 变成有序的 哈希表-Hashtable, 即 $dict = [ordered]@{...} 可以变成有序的,即遍历时,可以按我们定义的顺序取出来

4、多行分隔的模式,可以在某一键值对,前面加上 # 号注释,这样,哈希表中就没有那一个键值对了

5、可以通过 $Dict.Add('key4', 15000) 的方式为字典添加一个键值对,会添加到末尾

6、不能出现两个一样的key,否则会报错:+ FullyQualifiedErrorId : DuplicateKeyInHashLiteral (如果是python,可以重复,一般都是取最后定义的那个key的值)

 

如果我们需要遍历,完整的代码如下:

$dict = [ordered]@{
    'key1' = 'value1'
    'key2' = 'value2'
    'key3' = 'value3'
    'Author'='QQ-5201351'
}


foreach ($key in $dict.Keys) {
    Write-Output "$key -> $($dict[$key])"
}

程序运行结果如下:

key1 -> value1
key2 -> value2
key3 -> value3
Author -> QQ-5201351

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/19269960