繁体   English   中英

返回具有多个值的字典中的单个值

[英]return a single value in a dictionary with multiple values

data = response.text

dict_data = json.loads(data)

k = dict_data.keys()
v = dict_data.values()

for k, v in dict_data.items():
    print(k, '->', v)

是否可以搜索“temp”并仅返回该值? 我不需要任何其他信息。 Output:

coord -> {'lon': -74.006, 'lat': 40.7143}
weather -> [{'id': 800, 'main': 'Clear', 'description': 'clear sky', 'icon': '01d'}]
base -> stations
main -> {'temp': 73.26, 'feels_like': 72.25, 'temp_min': 66.2, 'temp_max': 79, 'pressure': 1007, 'humidity': 42}
visibility -> 10000
wind -> {'speed': 8.05, 'deg': 250}
clouds -> {'all': 1}
dt -> 1619976931
sys -> {'type': 1, 'id': 4610, 'country': 'US', 'sunrise': 1619949178, 'sunset': 1619999569}
timezone -> -14400
id -> 5128581
name -> New York
cod -> 200

如果将使用 if 语句进行检查。 像这样的东西:

data = response.text

dict_data = json.loads(data)

for item in dict_data:
    if 'temp' in item:
        print("temp", '->', dict_data[item]['temp'])

我发现这个小 package 在查询和操作字典时非常有用。

要获取 key ~= "temp" 的所有键和值,您可以执行以下操作:

results = nested_lookup(
    key = "temp",
    document = dict_data,
    wild = True
)

print(results)

如果你想要 key == "temp" 只需传递wild=False

您还可以使用此 package 进行键的嵌套更新,获取键的出现次数等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM