Python提取API返回数据中的IP地址遇到问题
提取API返回数据中的IP地址方案
从原始列表r_dict直接提取
r_dict是长度为1的列表,直接通过索引访问内部字典,再逐层取键即可:
ip = r_dict[0]['content']['parameters']['node_external_ip_list'] print(ip) # 输出: 10.xx.yy.zz
从字典my_dict提取
my_dict已经是标准字典结构,无需额外循环,直接逐层访问键:
ip = my_dict['content']['parameters']['node_external_ip_list'] print(ip) # 输出: 10.xx.yy.zz
你之前循环报错的原因
遍历字典my_dict时,i取到的是字典的键(即字符串'content'),而dict.update()需要传入键值对组成的可迭代对象(比如另一个字典、元组列表),用单个字符串去update自然会报错。
从字符串result提取
json.dumps()已经把字典转成了JSON格式的字符串,不能直接用字典索引,需要先转回字典再提取:
import json result_dict = json.loads(result) ip = result_dict['content']['parameters']['node_external_ip_list'] print(ip) # 输出: 10.xx.yy.zz
你之前字符串索引报错的原因
result是字符串类型,字符串的索引只能是整数(用来取单个字符),用字典的键去索引自然会触发TypeError。
内容的提问来源于stack exchange,提问作者makeeley
相关产品推荐
相关产品推荐

