python列表解释(list comprehension)记录

来源:互联网 发布:淘宝小叶紫檀有真的吗 编辑:程序博客网 时间:2024/05/21 03:16

list comprehension列表解释可以方便的实现列表的元素操作,还能结合ifelse 进行条件判断。
(1)生产序列

vec1 = [num for num in range(20)]# list里面是tuplevec2 = [(x,y) for x in range(4) for y in range(5)] # list里面是dictvec3 = [[{'a':x,'b':y} for x in range(4) for y in range(5)]

(2)带if/else 判断

x=np.linspace(0,np.pi,50)y=sin(x)boo = [ i if i<0.8 else 0.8 for i in y]plt.plot(boo)plt.show()

(3)处理坐标数据
数学软件sage的绘图函数如scatter_plot,line等需要传递一个形如[[x1,y1],[x2,y2],...[xn,yn]] 的列表作为参数,代表所绘制图像的x,y坐标轴,这时用列表解释很方便的实现,下面代码运行于Sage8.0

x=np.linspace(0,np.pi,50)y=sin(x)vec = [[x[i],y[i]] for i in range(int(len(x)))]a=line(vec)b=scatter_plot(vec)show(a+b) #同时绘制a和b

这里写图片描述

原创粉丝点击