十七、python沉淀之路--三元表达式、列表解析

一、三元表达式

1 a = ‘骑车‘
2
3 res = ‘好天气‘ if a == ‘骑车‘  else ‘睡觉‘
4 print(res)
1 睡觉

解析:res = ‘好天气‘        if a == ‘骑车‘           else ‘睡觉‘  ,将一个句子分了三部分。简单的逻辑运算可用这种三元表达式

二、列表解析

 1 gift_list = []
 2 for i in range(10):
 3     gift_list.append(‘礼盒%s‘%i)
 4 print(gift_list)
 5
 6 gift_list1 = [‘礼盒%s‘%i for i in range(10)]
 7 print(gift_list1)
 8
 9 gift_list2 = [‘礼盒%s‘%i for i in range(10) if i > 5]
10 print(gift_list2)
11
12 #gift_list3 = [‘礼盒%s‘%i for i in range(10) if i > 5  else i <=5]  # 报错,最多只有三元,没有四元以及更多

解析:通过运用三元表达式,可以简化代码。而且更省内存,效率更高

1 [‘礼盒0‘, ‘礼盒1‘, ‘礼盒2‘, ‘礼盒3‘, ‘礼盒4‘, ‘礼盒5‘, ‘礼盒6‘, ‘礼盒7‘, ‘礼盒8‘, ‘礼盒9‘]
2 [‘礼盒0‘, ‘礼盒1‘, ‘礼盒2‘, ‘礼盒3‘, ‘礼盒4‘, ‘礼盒5‘, ‘礼盒6‘, ‘礼盒7‘, ‘礼盒8‘, ‘礼盒9‘]
3 [‘礼盒6‘, ‘礼盒7‘, ‘礼盒8‘, ‘礼盒9‘]

原文地址:https://www.cnblogs.com/jianguo221/p/8976855.html

时间: 2024-11-05 16:30:42

十七、python沉淀之路--三元表达式、列表解析的相关文章

三元表达式 列表解析

三元表达式 # 三元表达式 # x=2 # y=3 # res=x if x > y else y #判断条件if x > y放中间,如果成立结果放判断条件左边,否则就放在右边 # print(res) #打印结果为y def max2(x,y): # if x > y: # return x # else: # return y return x if x > y else y #三元表达式:条件放中间,True放左边,False右边 print(max2(2,3)) 这,感觉没

Python学习之路——控制语句,迭代器, 列表解析

条件语句 if 都是大家的老朋友了,直接代码示例,简单易上手: <span style="font-size:18px;">>>> lang = "python" >>> if lang == "C": ... print "C language" ... elif lang == "Java": ... print "Java language&q

Python__三元表达式+列表解析+生成器表达式

x = 10res = 'ok' if x > 3 else 'no'print(res)#列表解析l = ['egg%s'%i for i in range(10)]print(l)l = ['egg%s'%i for i in range(10) if i > 5]print(l)names = ['alex_sb','egon','wupeiqi_sb','yuanhao_sb']names_new = [name for name in names if name.endswith('

Python基础第九天——迭代对象、 迭代器对象、生成器、三元表达式列表解析、生成器表达式

鸡汤: 要时刻不断地给自己灌输一种思想:都TMD是个人,凭什么他会而我就不会?王候将相宁有种乎?我承认人有天赋的差别,但是勤奋能弥补缺陷!所以,根据以上观点得出以下结论,只要出生时不是个傻子,那么就没有蠢的人,只有懒的猪!只要勤奋上进,小白也会变大神.加油 --奔跑吧小白 一.迭代对象.迭代器对象 1.迭代 定义:带有__iter__方法的就是可迭代对象 python常用的数据类型中,除了数字外,都是迭代对象. 例:用isinstance判断python常用数据类型是否为迭代对象,经验证,pyt

三元表达式,列表推导式和字典生成式

三元表达式 dog_name='crazy_dog' if dog_name=='crazy dog': print('疯狗') else: print('溜了') #通过三元表达式,我们可以缩减为以下代码 dog_name='crazy_dog' print('疯狗')if dog_name=='crazy_dog' else print('溜了') #三元表达式只支持双分支结构 条件成立时的返回值 if 条件 else 条件不成立时的返回值 列表推导式 lt=[] for i in rang

Python基础----生成器、三元表达式、列表生成式、生成器表达式

Python开发基础-Day9-生成器.三元表达式.列表生成式.生成器表达式 生成器 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器,生成器在本质上就是迭代器. def foo(): print('first------>') yield 1 print('second----->') yield 2 print('third----->') yield 3 print('fouth----->') g=foo() from collections impor

python——函数 20、三元表达式、列表推导式、生成器表达式

1.三元表达式 # 什么是三元表达式 三元:三个元素 x=1 y=2 if x>y: print(x) else : print(y) # 变为三元表达式: hhh=x if x>y else y print(hhh) # 简单明了 ———————————————————————————————————— def max2(x,y): if x>y: return x else : return y print(max2(1,5)) # 变为三元表达式: def max2(x,y): r

python基础-三元表达式/列表推导式/生成器表达式

1.三元表达式:如果成立返回if前的内容,如果不成立返回else的内容 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推导式:l=['egg'+str(i) for i in range(1,11)] print(l) 3.生成器表达式: l=('egg'+str(i) for i in range(1,11) if i >6) for i in l: print(i) 原文地址:http

生成器 三元表达式 列表生成式 匿名函数 内置函数

生成器 1.什么是生成器? ? -生成的工具 ? -生成器是一个自定义的迭代器,本质上是一个迭代器. 2.如何实现生成器? -但凡在函数内定义的yield ? -调用函数时,函数体代码不会执行 ? 会返回一个结果,这个结果就是生成器. 3.yield ? -每一次的yield都会往生成器对象中添加一个值. ? -yield只能在函数内定义 ? -yield可以保存函数的暂停状态 yield和return的对比 ? -相同点: ? 返回值的是不限制的: ? -不同点 ? return一次只可以返回