我的目标是使用Python仅保存变量temp_data
的第一行和第二行(包含多行)。每行应另存为一个变量。这样我就可以在Raspberry Pi LCD上显示高温。
例如,temp_data
有信息(每个数字都在一行上,堆栈溢出无法正确显示):
60
54
57
56
59
57
59
61
60
60
以下代码:
from weather import Weather, Unit
weather = Weather(unit=Unit.FAHRENHEIT)
location = weather.lookup_by_location('Dublin')
forecasts = location.forecast
for forecast in forecasts:
temp_data = forecast.high
print(temp_data)
已解决:这是应该怎么做:
from weather import Weather, Unit
weather = Weather(unit=Unit.FAHRENHEIT)
location = weather.lookup_by_location('cupertino')
forecasts = location.forecast
line_num = 0
for forecast in forecasts:
temp_data = forecast.high
if (line_num == 1):
print(temp_data)
line_num = line_num+1
答案 0 :(得分:0)
我假设通过“第一和第二”行,您位于列表中的最高和最低高温之后。该行可以代替您的for循环来查找温度:
highest = max(forecast.high for forecast in forecasts)
lowest = min(forecast.high for forecast in forecasts)
max
和min
函数是Python内置的。这些函数的参数称为列表理解。
如果您确实想要第一行和第二行,则列表解析和一些解压会很不错:
first, second = [forecast.high for forecast in forecasts[:2]]
答案 1 :(得分:0)
或max
+ map
:
max(map(lambda i: i.high,forecasts))
如果要最少min
+ map
:
min(map(lambda i: i.high,forecasts))
如果要排序:
sorted(map(lambda i: i.high,forecasts))