关于python的问题 两个列表解析只有一个能正常运行

就是在看《Python编程:从入门到实践》16章时,
为了生成日期和最高温度的列表,书里面给的代码是这样的:

dates, highs = [], []
for row in reader:
    cur_date = datetime.strptime(row[0], "%Y-%m-%d")
    dates.append(cur_date)
        
    high = int(row[1])
    highs.append(int(high)

我可能是闲的,给它改成了这样:

highs = [int(row[1]) for row in reader]
dates = [datetime.strptime(row[0], "%Y-%m-%d") for row in reader] 

得出的结果highs正常,dates返回了一个空列表
调换highs和dates顺序后,highs变成了空列表

这是为什么呢 是我的电脑太辣鸡了吗?

reader本质上是个生成器对象吧,只能遍历一次的 如果你先将reader转成list(reader) 就可以都有数据

你按书上的代码执行过吗,去看reader里的数据到底是什么,是不是date列是空的