首页 > 解决方案 > 如何在 Powershell 中循环 dict(Python)

问题描述

对于大多数具有 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

我面临的第一个问题是我不确定如何data在我尝试过的 PowerShell 中保存变量,@但无法弄清楚。非常感谢具有 PowerShell 背景的人提供的任何帮助

标签: powershellazure-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"

测试结果:

在此处输入图像描述


推荐阅读