就是在看《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列是空的