python列表解释(list comprehension)记录

37 篇文章 3 订阅

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

vec1 = [num for num in range(20)]
# list里面是tuple
vec2 = [(x,y) for x in range(4) for y in range(5)] 
# list里面是dict
vec3 = [[{'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

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值