python学习手册(一)列表推导式

这个系列更新前言:

这个系列的博文是从北大tensorflow学习笔记里截出来的专门学python高级用法的日志,

写博客的主要愿因是博主在学慕课上北大的tensorflow笔记,但是只有py基础,然后发现很多东西是常用库上的,所以独立开了个博客,暂时先停止tensorflow笔记的更新,也建议有兴趣学tf的同学,先看完这些博客,或者对着老师的源代码看博客更新

有在学的零基础可以看,想提高python的也可以,也欢迎大家去看tf系列的代码,我的博文里会更这个系列。希望大家一起学习,共同进步~

 

python学习手册:

 <br/>[1.python语法:列表推导式]
<br/>[2.numpy 一些函数]
<br/>[3.matplotlib 一些函数]
<br/>[4.matplotlib 高阶函数]
<br/>[5.queue多线程同步函数 ]

 

 

列表生成式举例:

 

我们要生成[1x1, 2x2, 3x3, ..., 10x10]的数组。

#python传统代码
for x in range(1, 11):
     L.append(x * x)

#python列表生成式的代码
[x * x for x in range(1, 11)]

 

列表推导式

采用方括号[]表示,并且用到了一个简写版的for循环,第一部分是一个生成结果列表元素的表达式,第二部分是一个输入表达式上的循环。阅读理解列表表达式的推荐做法是先从里面的for循环开始,向右查看是否有if条件,然后将推导式开始的那个表达式映射到每一个匹配的元素上去。(个人理解,生成式是一种没有判断条件的推导式,或者说普通的推导式)

列表推导式框架:  

[表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件]

 [ (x, y) for x in range(10) if x % 2 if x > 3 for y in range(10) if y > 7 if y != 8 ]

 

 

列表推导式举例解读:

在tensorflow学习中

 

例子一:

Y_ = [[int(x0 + x1 < 1)] for (x0, x1) in X]

这一段是一段列表生成式的代码,先左边从X中取出x0,x1(这个x是个两列n行的数组),这是一个列表生成式。

然后取出来的x0和x1如果相加小于1,判断为true,int()其实是个取整数的意思,true的值就是1,这个时候Y_的值就是1了。

 

例子二:

Y_c = [['red' if y else 'blue'] for y in Y_]

将真值放if 前面,判断条件放中间(一般判断条件都会放if后面),(for后面是个列表生成器)

写法有点反直观,但真的很简洁

 

 

其他推导式阅读

try_list = [1, 2, 3, 4, 5]
# 前2种一样,
[a > 3 for a in b]
[True if x>3 else False for x in try_list]  
# 返回结果[False, False, False, True, True]
[True for x in try_list if x > 3]
# 返回结果 [True, True]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值