python - 如何使用循环访问 python 字典中的某些值?
问题描述
我有一个 python 字典,我只需要从中访问某些值。我需要访问日期、高温、低温、风速和降雨值。
我试过使用这个for循环:
for Forecast in weather_data['value']['Forecasts'][0]:
print(Forecast)
我被卡住了,我不确定如何获得这些值。任何帮助将不胜感激!
这是字典:
{'value': {'City': '77107', 'CityName': 'Cape Town', 'Forecasts': [{'DaySequence': 1, 'Segment': None, 'DaySegment': None, 'DayOfWeek': 6, 'WeekDay': 'Friday', 'ShortWeekDay': 'Fri', 'Date': '/Date(1548367200000)/', 'FormattedDate': 'Fri, Jan 25', 'DayLight': 'D', 'SkyDescriptor': '1', 'Sky': 'Sunny', 'PrecipitationDescriptor': '', 'Precipitation': '', 'TemperatureDescriptor': '8', 'TemperatureDescription': 'Mild', 'HighTemp': '22', 'LowTemp': '17', 'UV': 'High', 'AirDescription': '20', 'Air': 'Beautiful', 'Description': 'Sunny. Mild.', 'Temperature': None, 'WindSpeed': '54', 'Beaufort': None, 'BeaufortDescriptor': None, 'WindDirection': None, 'WindDirectionAbreviated': None, 'WindDirectionDescription': None, 'DewPoint': None, 'Humidity': None, 'Comfort': None, 'Visibility': None, 'Rainfall': None, 'Snowfall': None, 'PrecipitationProbability': None, 'Icon': '1', 'IconName': 'sunny', 'Cached': False}, {'DaySequence': 2, 'Segment': None, 'DaySegment': None, 'DayOfWeek': 7, 'WeekDay': 'Saturday', 'ShortWeekDay': 'Sat', 'Date': '/Date(1548453600000)/', 'FormattedDate': 'Sat, Jan 26', 'DayLight': 'D', 'SkyDescriptor': '1', 'Sky': 'Sunny', 'PrecipitationDescriptor': '', 'Precipitation': '', 'TemperatureDescriptor': '10', 'TemperatureDescription': 'Warm', 'HighTemp': '28', 'LowTemp': '18', 'UV': 'High', 'AirDescription': '22', 'Air': 'Nice', 'Description': 'Sunny. Warm.', 'Temperature': None, 'WindSpeed': '21', 'Beaufort': None, 'BeaufortDescriptor': None, 'WindDirection': None, 'WindDirectionAbreviated': None, 'WindDirectionDescription': None, 'DewPoint': None, 'Humidity': None, 'Comfort': None, 'Visibility': None, 'Rainfall': None, 'Snowfall': None, 'PrecipitationProbability': None, 'Icon': '1', 'IconName': 'sunny', 'Cached': False}, {'DaySequence': 3, 'Segment': None, 'DaySegment': None, 'DayOfWeek': 1, 'WeekDay': 'Sunday', 'ShortWeekDay': 'Sun', 'Date': '/Date(1548540000000)/', 'FormattedDate': 'Sun, Jan 27', 'DayLight': 'D', 'SkyDescriptor': '1', 'Sky': 'Sunny', 'PrecipitationDescriptor': '', 'Precipitation': '', 'TemperatureDescriptor': '8', 'TemperatureDescription': 'Mild', 'HighTemp': '24', 'LowTemp': '20', 'UV': 'High', 'AirDescription': '29', 'Air': 'Comfortable', 'Description': 'Sunny. Mild.', 'Temperature': None, 'WindSpeed': '51', 'Beaufort': None, 'BeaufortDescriptor': None, 'WindDirection': None, 'WindDirectionAbreviated': None, 'WindDirectionDescription': None, 'DewPoint': None, 'Humidity': None, 'Comfort': None, 'Visibility': None, 'Rainfall': None, 'Snowfall': None, 'PrecipitationProbability': None, 'Icon': '1', 'IconName': 'sunny', 'Cached': False}, {'DaySequence': 4, 'Segment': None, 'DaySegment': None, 'DayOfWeek': 2, 'WeekDay': 'Monday', 'ShortWeekDay': 'Mon', 'Date': '/Date(1548626400000)/', 'FormattedDate': 'Mon, Jan 28', 'DayLight': 'D', 'SkyDescriptor': '1', 'Sky': 'Sunny', 'PrecipitationDescriptor': '', 'Precipitation': '', 'TemperatureDescriptor': '8', 'TemperatureDescription': 'Mild', 'HighTemp': '26', 'LowTemp': '19', 'UV': 'High', 'AirDescription': '20', 'Air': 'Beautiful', 'Description': 'Sunny. Mild.', 'Temperature': None, 'WindSpeed': '32', 'Beaufort': None, 'BeaufortDescriptor': None, 'WindDirection': None, 'WindDirectionAbreviated': None, 'WindDirectionDescription': None, 'DewPoint': None, 'Humidity': None, 'Comfort': None, 'Visibility': None, 'Rainfall': None, 'Snowfall': None, 'PrecipitationProbability': None, 'Icon': '1', 'IconName': 'sunny', 'Cached': False}, {'DaySequence': 5, 'Segment': None, 'DaySegment': None, 'DayOfWeek': 3, 'WeekDay': 'Tuesday', 'ShortWeekDay': 'Tue', 'Date': '/Date(1548712800000)/', 'FormattedDate': 'Tue, Jan 29', 'DayLight': 'D', 'SkyDescriptor': '3', 'Sky': 'Mostly sunny', 'PrecipitationDescriptor': '4', 'Precipitation': 'a few showers', 'TemperatureDescriptor': '8', 'TemperatureDescription': 'Mild', 'HighTemp': '24', 'LowTemp': '19', 'UV': 'High', 'AirDescription': '20', 'Air': 'Beautiful', 'Description': 'a few showers. Mostly sunny. Mild.', 'Temperature': None, 'WindSpeed': '35', 'Beaufort': None, 'BeaufortDescriptor': None, 'WindDirection': None, 'WindDirectionAbreviated': None, 'WindDirectionDescription': None, 'DewPoint': None, 'Humidity': None, 'Comfort': None, 'Visibility': None, 'Rainfall': None, 'Snowfall': None, 'PrecipitationProbability': None, 'Icon': '33', 'IconName': 'showers', 'Cached': False}, {'DaySequence': 6, 'Segment': None, 'DaySegment': None, 'DayOfWeek': 4, 'WeekDay': 'Wednesday', 'ShortWeekDay': 'Wed', 'Date': '/Date(1548799200000)/', 'FormattedDate': 'Wed, Jan 30', 'DayLight': 'D', 'SkyDescriptor': '8', 'Sky': 'More sun than clouds', 'PrecipitationDescriptor': '51', 'Precipitation': 'Showers early', 'TemperatureDescriptor': '6', 'TemperatureDescription': 'Cool', 'HighTemp': '22', 'LowTemp': '19', 'UV': 'High', 'AirDescription': '*', 'Air': '', 'Description': 'Showers early. More sun than clouds. Cool.', 'Temperature': None, 'WindSpeed': '27', 'Beaufort': None, 'BeaufortDescriptor': None, 'WindDirection': None, 'WindDirectionAbreviated': None, 'WindDirectionDescription': None, 'DewPoint': None, 'Humidity': None, 'Comfort': None, 'Visibility': None, 'Rainfall': None, 'Snowfall': None, 'PrecipitationProbability': None, 'Icon': '33', 'IconName': 'showers', 'Cached': False}, {'DaySequence': 7, 'Segment': None, 'DaySegment': None, 'DayOfWeek': 5, 'WeekDay': 'Thursday', 'ShortWeekDay': 'Thu', 'Date': '/Date(1548885600000)/', 'FormattedDate': 'Thu, Jan 31', 'DayLight': 'D', 'SkyDescriptor': '32', 'Sky': 'Morning clouds', 'PrecipitationDescriptor': '', 'Precipitation': '', 'TemperatureDescriptor': '6', 'TemperatureDescription': 'Cool', 'HighTemp': '20', 'LowTemp': '17', 'UV': 'High', 'AirDescription': '29', 'Air': 'Comfortable', 'Description': 'Morning clouds. Cool.', 'Temperature': None, 'WindSpeed': '55', 'Beaufort': None, 'BeaufortDescriptor': None, 'WindDirection': None, 'WindDirectionAbreviated': None, 'WindDirectionDescription': None, 'DewPoint': None, 'Humidity': None, 'Comfort': None, 'Visibility': None, 'Rainfall': None, 'Snowfall': None, 'PrecipitationProbability': None, 'Icon': '4', 'IconName': 'partly_cloudy', 'Cached': False}], 'Cached': False}}
解决方案
只需遍历想要的键:
for forecast in ['Date', 'HighTemp', 'LowTemp', 'Rainfall', 'Windspeed']:
print weather_data['value']['Forecast'][forecast]
推荐阅读
- angular - 尝试取消订阅路由时出现问题
- python - 重载 __setattr__ 和 __getattr__ 方法来阻止动态添加
- python - Folium(具有不同数据源的地图)
- reactjs - 有没有办法明确设置 React Final-Form 脏?
- kotlin - 检查 Kotlin 不可变列表中的值
- javascript - 如何创建一个独立的、普通的 javascript 缩小版的电容器社区 http 模块示例
- python - 无法安装 pip install sphinxcontrib-openapi - “默认为用户安装,因为普通站点包不可写”
- java - 工件演示:war:java.lang.Exception:{“WFLYCTL0412:未安装的必需服务:”=>
- sql - R:带有接受 Excel 列表(列)的 where 语句的 dbGetQuery 函数
- python-3.x - 如何在脚本中使用标志?