我有一个json列表,我想在一个目录列表中迭代"PrivateIP"并追加到空列表中:
下面是代码:
InstanceId = []
message = [{"SNowTicket":"RITM00001","ServerIPList":[{"PrivateIP":"182.0.0.0", "HostName":"ip-182-0-0-0.ec2.internal", "Region":"us-east-1", "AccountID":"12345678"}, {"PrivateIP": "182.1.1.1", "HostName": "ip-182-1-1-1.ec2.internal", "Region": "us-east-1", "AccountID": "12345678"}],"Operation":"stop","id":"text-123"}]
for i in message:
for key in i:
print(key, i[key])
instanceIds.append(privateIP)
代码的输出:
它给出了所有键的值,但我只想要"ServerIPList"的值,并迭代其值"PrivateIP"
SNowTicket RITM00001
ServerIPList [{'PrivateIP': '182.0.0.0', 'HostName': 'ip-182-0-0-0.ec2.internal', 'Region': 'us-east-1', 'AccountID': '12345678'}, {'PrivateIP': '182.1.1.1', 'HostName': 'ip-182-1-1-1.ec2.internal', 'Region': 'us-east-1', 'AccountID': '12345678'}]
Operation stop
id text-123
我想在"ServerIPList"的dict内迭代"PrivateIP"的值,并将它们的值追加到空列表"InstanceIds"中
InstanceId = ["182.0.0.0", "182.1.1.1"]
3条答案
按热度按时间r6hnlfcb1#
我觉得你可以这样做
外部循环迭代消息列表中的元素,内部循环迭代每个字典的ServerIPList键中的元素。对于每个PrivateIP值,它都被附加到instanceIds列表中。
3pmvbmvn2#
为了访问列表消息的内容,我们必须对其进行迭代
for i in message:
。为了访问每个i中的ServerIPList,我们必须创建另一个for循环,即
for j in i['ServerIPList']
最后我们可以将privateIP追加到空列表中。
其完整代码如下所示:
wljmcqd83#