Python三元表达式和列表生成式】的更多相关文章

目录 1.三元表达式 2.列表生成式 3.字典生成式 1.三元表达式 定义格式:true_return if condition else false_return if 后条件成立返回,true_return,不成立返回false_return 当功能需求仅仅是二选一的情况下,推荐使用三元表达式 实例如下: res = '坚持学习python' if 3>1 else '不学了!' print(res) # 结果 # 坚持学习python ''' 三元表达式: 将符合条件的值返回,用一个变量接…
三元表达式 取代 if …… else……的简单表达方式 # 常规写法 x = 1 y = 2 ​ if x>y: print(x) else: print(y) ​ #三元表达式写法 res = x if x > y else y 注意:只能判断最最基础的if else语句,不适用于elif 语句. 生成式 列表生成式 简化新建列表的方法 # 常规用法 l = [] for i in range(10): if i > 4: l.append(i) print(l) # [5,6,7,…
目录 1. 三元表达式 2. 列表推导式 3. 字典生成式 3.1 字典生成式 3.2 zip()方法 1. 三元表达式 """ 条件成立时的返回值 if 条件 else 条件不成立时的返回值 """ x = 10 y = 20 print(x if x>y else y) # 20 2. 列表推导式 a = [i for i in range(10)] print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 3…
生成器 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器,生成器在本质上就是迭代器. def foo(): print('first------>') yield 1 print('second----->') yield 2 print('third----->') yield 3 print('fouth----->') g=foo() from collections import Iterator print(isinstance(g,Iterator)…
生成器 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器,生成器在本质上就是迭代器. def foo(): print('first------>') yield 1 print('second----->') yield 2 print('third----->') yield 3 print('fouth----->') g=foo() from collections import Iterator print(isinstance(g,Iterator)…
http://www.cnblogs.com/linhaifeng/articles/7580830.html 三元表达式.列表推导式.生成器表达式.递归.匿名函数.内置函数…
一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='mm' if name == 'hahah' else 'NB' print(res) 二 列表推导式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.语法 [expression for item1 in iterab…
生成器 1.什么是生成器? 生成的工具. 生成器是一个 "自定义" 的迭代器, 本质上是一个迭代器. 2.如何实现生成器 但凡在函数内部定义了的yield, 调用函数时,函数体代码不会执行, 会返回一个结果,该结果就是一个生成器. yield: 每一次yield都会往生成器对象中添加一个值. - yield只能在函数内部定义 - yield可以保存函数的暂停状态 yield与return: 相同点: 返回值的个数都是无限制的. 不同点: return只能返回一次值,yield可以返回多…
什么是生成器:只要函数内部包含有yield关键字,那么函数名()的到的结果(生成器地址)就是生成器,再调用函数不会执行函数内部代码这个生成器本身有  _iter_  he  _next_功能(即生成器就是一个迭代器) 为什么要用生成器:生成器是一种自定义迭代器的方式 总结yield的功能1.提供一种自定义迭代器的方式2.yield可以暂停住函数,返回值 yield he return 相同点:都是用在函数内,都可以返回值,没有类型限制,没有个数限制不同点:return只能返回一次值,yield可…
生成器: 函数与yield连用,凡是函数中有yield的,调用该函数的时候均不会立即执行,而是会返回一个生成器. 生成器本质上是一个迭代器,需要通过    [生成器.__next__()]或者[next(生成器)]取值. 创建生成器的函数中的return只有终止函数的功能,不会有任何返回值. yield:yield会保存函数的暂停状态,并返回一个生成器,以后每次执行一次yield会向生成器中增加一个值.yield一定要在函数内部定义. yield与return的区别: yield可以执行无数次返…
1. 三元表达式 name=input('姓名>>: ') res='SB' if name == 'aaaa' else 'NB' print(res) 2. 列表推导式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.语法 [expression for item1 in iterable1 if condition1 fo…
一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 二 列表推导式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.语法 [expression for item1 in iterabl…
目录 一 三元表达式 二 列表推到 三 生成器表达式 四 递归 五 匿名函数 六 内置函数 一.三元表达式 def max(x,y): return x if x>y else y print(max(10,12)) name=input('>>>') res='sb' if name=='alex' else 'nb' print(res) ''' name=input('>>>') res='sb' if name=='alex': print(res') e…
一.装饰器 一.装饰器的知识储备 1.可变长参数  :*args和**kwargs def index(name,age): print(name,age) def wrapper(*args,**kwargs): #即args=(1,2,3,4,5),kwargs={'x':1,'y':3} index(*args,**kwargs) #index(1,2,3,4,5,y=2,x=5) 2.函数对象:被当做数据传递 1.函数可以当做参数传给另外一个函数 2.一个函数的返回值,也可以是一个函数(…
一.装饰器 一.装饰器的知识储备 不想修改函数的调用方式,但是还想在原来的函数前后添加功能 1.可变长参数  :*args和**kwargs def index(name,age): print(name,age) def wrapper(*args,**kwargs): #即args=(1,2,3,4,5),kwargs={'x':1,'y':3} index(*args,**kwargs) #index(1,2,3,4,5,y=2,x=5) 2.函数对象:被当做数据传递 1.函数可以当做参数…
初学Python(十)--列表生成式 初学Python,主要整理一些学习到的知识点,这次是列表生成式. # -*- coding:utf-8 -*- ''''' 列表生成式 ''' #一行代码表达所有意思 D = {1:1,2:3,2:2,3:4,5:4} print [x*y for (x,y) in D.iteritems()] #??[1, 4, 12, 20]为什么打印出来少一个 print [x*y for (x,y) in D.iteritems() if x==y] #列出当前目录…
一,复习 ''' 1.函数的参数:实参与形参 形参:定义函数()中出现的参数 实参:调用函数()中出现的参数 形参拿到实参的值,如果整体赋值(自己改变存放值的地址),实参不会改变,(可变类型)如果修改内部内容,实参会跟着变化 位置实参 - 只能对位置形参赋值 关键字实参 - 可以对所有(不包含可变长位置形参)形参赋值 位置形参 - 必须出现在最前,且必须传值 默认形参 - 出现在位置形参后*前,可以不用传参 可变长位置形参 - 接收所有位置形参.默认形参没有接收完的位置实参 有无默认值关键字形参…
python3 三元表达式,列表解析 三元表达式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 x=2 y=3   if x > y:     print(x) else:     print(y)     res='aaaaa' if x > y else 'bbbbbbb'     #三元表达式 print(res)     def max2(x, y): #     if x > y: #         return…
python 三元表达式(ternary expression)  把 if-else块 写到一行或者一个表达式中 并且产生一个值 value = true if condition else false 就等于 if condition: value = true else: value = false 举个例子: 等于:…
Python3 三元表达式.列表推导式.生成器表达式 三元表达式 表达式中,有三个元素 name = input("请输入姓名: ")ret = '输入正确' if name == 'aaa' else '输入错误'print(ret)  列表推导式 #1.示例# 方法1egg_list1 = []for i in range(10): egg_list1.append('鸡蛋%s' % i)print(egg_list1) #方法2egg_list2 = ['鸡蛋%s' %i for…
函数的递归:函数在调用阶段直接或者间接的又调用自身 递归的两个阶段: 1.回溯:就是一次次重复的过程,这个重复的过程必须建立在每一次重复问题的复杂度都是应该下降的,直接有一个最终的结束条件(这个结束条件是必须的,否则就不会结束,直到到当前递归的最大层数然后报错) 2.递推:一次次往回推导的过程 如何查看当前递归的最大层数: import sys print(sys.getrecursionlimit()) # 如果想自定义最大层数, 也可以对括号中进行传参 二分查看算法:二分算法的推导过程 三元…
1.生成器 def func(): yield g = func() next(g) x = yield 2.三元表达式 res = x if 条件 else y 3.列表推导式,字典生成式,生成器表达式 l = [表达式 for i in 可迭代对象 if条件] g = (表达式 for i in 迭代对象 if条件) d = {K:v  for i in 可 迭代对象 if 条件} 4.zip的用法 把多个可迭代的对象,取出,集成一个可迭代对象…
迭代 什么是迭代 1 重复 2 下次重复一定是基于上一次的结果而来 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration). 在Python中,迭代是通过for ... in来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码: for (i=0; i<list.length; i++) { n = list[i]; } 可以看出,Python的for循环抽象程度要高于Java的for循…
一.三元表达式 三元运算,是对简单的条件语句的缩写.   # if条件语句 if x > f: print(x) else: print(y) # 条件成立左边,不成立右边 x if x > y else y # 三元表达式   python的三元运算格式如下: result=值1 if x<y else 值2 # 如果条件成立,那么将“值1”赋值给result变量,否则,将“值2”赋值给result变量   二.列表解析 列表解析:用三元表达式,将结果写入列表,即为列表解析      …
1.三元运算 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推倒式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] zip的用法 l = [1,2,3] b = (4,5,6) c = {7,8,9} a = zip(l,b,c) pr…
递归和迭代 小明问路篇解释说明 递归:小明——>小红——>小于——>小东:小东——>小于——>小红——>小明 小明向小红问路,因小红不知道,所以向小于问路,因小于不知道,所以向小东问路, 小东知道路,告诉小于,小于知道后,告诉小红,小红知道后,告诉小明 迭代: 小明向小红问路,因小红不知道,所以告诉小明去问小红, 于是,小明向小于问路,因小于不知道,所以向告诉小明去问小东, 于是,小明向小东问路,然后小东告诉小明. 什么是迭代器协议? 迭代器协议:对象必须有一个next…
三元表达式 #以下是比较大小,并返回值 def max2(x,y): if x > y: return x else: return y res=max2(10,11) print(res) #三元表达式仅应用于: #1.条件成立返回 一个值 #2.条件不成立返回 一个值 #三元表达式 def max2(x,y): return x if x > y else y print(max(10,11)) #三元表达式 #name='alex' 则返回SB,name=其他,则返回NB name=in…
题目一: 有两个列表,分别存放来老男孩报名学习linux和python课程的学生名字linux=['钢弹','小壁虎','小虎比','alex','wupeiqi','yuanhao']python=['dragon','钢弹','zhejiangF4','小虎比'] 问题一:得出既报名linux又报名python的学生列表 #常规写法: linux=['钢弹','小壁虎','小虎比','alex','wupeiqi','yuanhao'] python=['dragon','钢弹','zhej…
三元表达式 三元表达式仅应用于: 1.条件成立返回一个值 2.条件不成立返回一个值 res = x if x>y else y print(res) name= input("姓名>>: ") res="sb" if name == "alex" else "nb" print(res) 函数的递归 函数的递归:函数递归调用,即在函数调用过程中, 又直接或间接的调用了函数本身. 直接调用 def foo():…
目录 迭代器 可迭代对象 迭代器对象 for循环原理 三元表达式(三目表达式) 列表推导式 字典生成式 zip()方法 生成器 生成器表达式 递归 递归的两个阶段 迭代器 迭代器即迭代的工具,迭代是一个重复的过程,每次重复即是一次迭代,并且每次迭代的结果都是下一次迭代的初始值 可迭代对象 只要拥有__iter__()方法的对象就是可迭代对象,如下: print('name'.__iter__()) print(['read', 'run',[1,2,3,4]].__iter__()) print…