本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================================== 一.三元表达式.列表推导式.生成器表达式 1. 三元表达式 #三元表达式格式: ''' 判定条件? 为真时的结果 : 为假时的结果 ''' # 例 result = 5>3? 1 : 0 ''' 定义函数比较两个值 ''' def max(x, y): if x…
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)…
一.列表生成式 生成1-100的列表 li = [] for i in range(1,101): li.append(i) print(li) 执行输出: [1,2,3...] 生成python1期~11期 li = [] for i in range(1,12): li.append('python'+str(i)+'期') print(li) 执行输出: ['python1期', 'python2期', 'python3期'...] 第二种写法 li = [] for i in range…
一.生成器 概念:生成器的是实质就是迭代器 1.生成器的贴点和迭代器一样,取值方式也和迭代器一样. 2.生成器一般由生成器函数或者声称其表达式来创建,生成器其实就是手写的迭代器. 3.在python中有三种方式来获取生成器: (1)通过生成器函数获取生成器 (2)通过各种推导式来实现生成器; (3)通过生成器表达式来创建生成器 二.生成器函数 首先,先看一个简单函数,如下: def jaun(): ") return 222 ret = juan() print(ret) # 结果为: 将上面函…
一.列表推导式 1.列表推导式是颇具python风格的一种写法.这种写法除了高效,也更简短. In [23]: {i:el for i,el in enumerate(["one","two","three"])} Out[23]: {0: 'one', 1: 'two', 2: 'three'} enumerate是内建函数,可以让列表获得“下标”的属性.而如果不用列表推导式,上例需要这么写 In [24]: lst = ["one&…
1.生成器函数进阶 2.列表推导式 3.生成器表达式…
列表推导式和生成器表达式 列表推导式,生成器表达式1,列表推导式比较直观,占内存2,生成器表达式不容易看出内容,省内存. [ 变量(加工后的数据) for  变量i  in 可迭代的数据类型 ] 列表的推导式, 循环模式[ 变量(加工后的数据) for  变量i  in 可迭代的数据类型 if 条件] 列表的推导式, 筛选模式 1.[变量(加工后的变量) for 变量 in iterable] 循环模式 l = [i for i in range(10)] print(l) l1 = ['选项%…
一.生成器 什么是生成器,生成器的实质就是迭代器 在python中有三种方式来获取生成器: 1.通过生成器函数 2.通过各种推导式来实现生成器 3.通过数据的转换也可以获取生成器 1 def func() 2 print("111") 3 yield 222 4 ret = func() 5 print(ret) 6 7 结果: 8 <generator object func at 0x10567ff68> send方法和__next__() send和__next__(…
目录 迭代器 可迭代对象 迭代器对象 总结 三元表达式(三目表达式) 列表推导式 字典生成式 迭代器 可迭代对象 拥有iter方法的对象就是可迭代对象 # 以下都是可迭代的对象 st = '123'.__iter__() lis = [1, 2, 3].__iter__() tup = (1, 2, 3).__iter__() dic = {1: 'one', 2: 'two', 3: 'three'}.__iter__() se = {1, 2, 3}.__iter__() with open…
一.三目(元)运算符 定义:就是 if...else...语法糖前提:简化if...else...结构,且两个分支有且只有一条语句注:三元运算符的结果不一定要与条件直接性关系​ cmd = input('cmd: ') print('可以转化为数字') if cmd.isdigit() else print('不可以转化为数字') ​ ​ a = 20 b = 30 res = a if a > b else b # 求大值 print(res) ​ ​ res = 'b为小值' if a >…