如何仅保存包含多行的变量的第一行和第二行?

时间:2018-09-19 00:33:00

标签: python

我的目标是使用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

2 个答案:

答案 0 :(得分:0)

我假设通过“第一和第二”行,您位于列表中的最高和最低高温之后。该行可以代替您的for循环来查找温度:

highest = max(forecast.high for forecast in forecasts)
lowest = min(forecast.high for forecast in forecasts)

maxmin函数是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))