在《机器学习系统设计》一书中,第一章1.5节有一行代码:
plt.xticks([w724 for w in range(10)],['week %i'%w in range(10)])
这里的:[w724 for w in range(10)],['week %i'%w in range(10)]我不理解
原实例中,Python版本为2.7。我用的Python版本为3.4,结果报错:
NameError: name 'w' is not defined
请问,这行代码是什么意思,用Python3.4如何实现?
源代码如下:
import scipy as sp
import matplotlib.pyplot as plt
data=sp.genfromtxt("web_traffic.tsv",delimiter="\t")
x=data[:,0]
y=data[:,1]
x=x[~sp.isnan(y)]#清洗数据
y=y[~sp.isnan(y)]
plt.scatter(x,y)
plt.title("Web traffic over the last month")
plt.xlabel("Time")
plt.ylabel("Hits/hour")
plt.xticks([w724 for w in range(10)],['week %i'%w in range(10)])
plt.autoscale(tight=True)
plt.grid()
plt.show()
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这两个是列表推导式第一个 [w*7*24forwinrange(10)]的结果和下面代码执行后l的值一样
l=[]forwinrange(10):l.append(w*7*24)
第二个写错了吧应该是 ['week%i'%wforwinrange(10)]
谢谢,已解决。