如何在 Powershell 中循环 dict(Python)
How to loop over dict(Python) in Powershell
对于大多数具有 PowerShell 背景的人来说,这可能是一件非常微不足道的事情,但我来自 python,因此发现理解 Powershell 的工作原理有点困难。
我有以下 dict,由其他一些 python func 创建,看起来像以下 -
data = {
'test1@gmail.com': ['a@gmail.com', 'b@gmail.com'],
'test2@gmail.com': ['c@gmail.com'],
'test3@gmail.com': ['d@gmail.com', 'e@gmail.com']
}
我想获取此数据并在 Powershell 中以输出应打印的方式循环遍历它
Key test1@gmail.com has a@gmail.com value
Key test1@gmail.com has b@gmail.com value
Key test2@gmail.com has c@gmail.com value
Key test3@gmail.com has d@gmail.com value
Key test3@gmail.com has e@gmail.com value
我面临的第一个问题是我不确定如何在 PowerShell 中保存 data
变量我也尝试了 @
但无法弄清楚。非常感谢具有 PowerShell 背景的人提供任何帮助
请尝试以下代码:
$data = "{
'test1@gmail.com': ['a@gmail.com', 'b@gmail.com'],
'test2@gmail.com': ['c@gmail.com'],
'test3@gmail.com': ['d@gmail.com', 'e@gmail.com']
}"
$x = $data | ConvertFrom-Json
foreach($a in $x.psobject.properties){
foreach($b in $a.Value){
$str = "Key " + $a.Name + " has " + $b
$str
}
}
"**completed"
测试结果:
对于大多数具有 PowerShell 背景的人来说,这可能是一件非常微不足道的事情,但我来自 python,因此发现理解 Powershell 的工作原理有点困难。
我有以下 dict,由其他一些 python func 创建,看起来像以下 -
data = {
'test1@gmail.com': ['a@gmail.com', 'b@gmail.com'],
'test2@gmail.com': ['c@gmail.com'],
'test3@gmail.com': ['d@gmail.com', 'e@gmail.com']
}
我想获取此数据并在 Powershell 中以输出应打印的方式循环遍历它
Key test1@gmail.com has a@gmail.com value
Key test1@gmail.com has b@gmail.com value
Key test2@gmail.com has c@gmail.com value
Key test3@gmail.com has d@gmail.com value
Key test3@gmail.com has e@gmail.com value
我面临的第一个问题是我不确定如何在 PowerShell 中保存 data
变量我也尝试了 @
但无法弄清楚。非常感谢具有 PowerShell 背景的人提供任何帮助
请尝试以下代码:
$data = "{
'test1@gmail.com': ['a@gmail.com', 'b@gmail.com'],
'test2@gmail.com': ['c@gmail.com'],
'test3@gmail.com': ['d@gmail.com', 'e@gmail.com']
}"
$x = $data | ConvertFrom-Json
foreach($a in $x.psobject.properties){
foreach($b in $a.Value){
$str = "Key " + $a.Name + " has " + $b
$str
}
}
"**completed"
测试结果: