python学习之总结
迭代器:
def gen():
a = 100
yield a
a = a * 8
yield a
yield 1000
for i in gen():
print(i)
创建一个函数,循环体,yield循环到此就返回一个值。调用函数,打印出循环结果:
100
800
1000
表推导:
L = [x**2 for x in range(10)]
print(L)
等价于:
M = []
for x in range(10):
M.append(x**2)
print(M)
打印出结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
xl = [1,3,5]
yl = [9,12,13]
L = [ x**2 for (x,y) in zip(xl,yl) if y > 10]
print(L)
等价于
for (x,y) in zip(xl,yl):
if y > 10:
print(x)
我们可以先打印出zip对应的Y值大于10的X的值
打印出X的值:
>>3
>>5
打印出L的值:[9, 25]
#lambda函数
def test(f,a,b):
print ('test')
print(f(a,b))
test((lambda x,y:x**2+y),6,9)
#使用lambda匿名函数给f参数传递值,可以使不同形式的。
打印结果:
>>test
(f(a,b))相当于a=6传递给x,b=9传递给y,组合成f的值
>>45
#map()
re = map((lambda x:x+3),[1,3,5,7])
print(list(re))
#map中的一个参数x,将后面列表中的值一次传递给x,相当于列表的值依次加3,在取值中以列表的形式。
打印结果:
[4, 6, 8, 10]
re2 = map((lambda m,n:m**n),[1,2,3,4],[5,6,7,8])
print(list(re2))
打印结果:
[1, 64, 2187, 65536]
#filter()
def abc(a):
if a > 100:
return True
else:
return False
newlist = filter(abc,[100,30,101,200])
print(list(newlist))
#创建一个函数abc中有一个参数a。newlist中函数filter将列表的值一次传给函数abc中的参数a,取值用列表形式。
打印结果:
[101, 200]
#reduce()
#from functools import reduce #因为python不支持reduce函数,可以在functools库中导入单个reduce函数
import functools #可以直接导入整个库
print(functools.reduce(lambda x,y:x+y,range(1,101)))
#reduce函数是将列表中的值的第一次传递两个参数相加的和3,在传递一个参数3相加。相当于1-100相加的和。
打印结果:
>>5050
python学习之总结的更多相关文章
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- Python学习路径及练手项目合集
Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- [Python] 学习资料汇总
Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大且完善的通用型语言,已经有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用 ...
- Python学习之路【目录】
本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! 目录: Python学习[第一篇]python简介 Python学习[第二篇]p ...
- python学习笔记系列----(八)python常用的标准库
终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...
随机推荐
- Git远程库版本回滚
在git的一般使用中,如果发现错误的将不想staging的文件add进入index之后,想回退取消,这就叫做git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id.可以使用命令:g ...
- ArcGIS 网络分析[4] 网络数据集深入浅出之连通性、网络数据集的属性及转弯要素
前面介绍完了如何创建网络数据集.如何使用网络分析功能,当然还有的读者会迷惑于一些更深层次的问题,比如网络数据集的连通性问题等. 因为不可能面面俱到,我只能挑重点来阐述,我觉得网络数据集的连通性.属性和 ...
- Docker了解
Docker了解1.Docker能做什么:Docker能够解决虚拟机能够解决的问题,同时也能够解决虚拟机由于请求资源过高无法解决的问题. *隔离应用依赖 *创建应用镜像并进行复制 *创建容易分发的即启 ...
- Codebase Refactoring (with help from Go)
Codebase Refactoring (with help from Go) 代码库重构(借助于Go) 1.摘要 Go应该添加为类型创建替代等效名称的能力,以便在代码库重构期间渐进代码修复.本文解 ...
- go generate 生成代码
今后一段时间要研究下go generate,在官网博客上看了Rob Pike写的generating code,花了一些时间翻译了下.有几个句子翻译的是否正确有待考量,欢迎指正. 生成代码 通用计算的 ...
- 优化设计提高sql类数据库的性能
前言 在一个项目中,技术的统一性是最重要的,数据库的设计则是重点中的重点.NoSQL 是目前最流行的数据库,但是其实用性和功能性远不如sql数据库. 实际很多SQL数据库被诟病的性能问题大多是源于程序 ...
- 【转】nginx提示:500 Internal Server Error错误的解决方法
本文转自:http://www.jb51.net/article/35675.htm 现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和 ...
- Oracle12c_安装1——准备工作
1.建议用户和组 su root #切换到root groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstal ...
- VS2010安装OpenGL
以下涉及到的所有资源都在这里: 链接:https://pan.baidu.com/s/1eSctT5K 密码:174s *我的VS2010的安装位置:D:\Program Files (x86)\M ...
- javascript字符串与数组转换汇总
本文给大家分享的是Js中字符串转换成数组,数组转换成字符串的函数,十分的简单实用,有需要的小伙伴可以参考下. 数组转字符串 1.join()方法 ? 1 2 3 4 var s= ["a&q ...