day14-推导式和生成器表达式】的更多相关文章

一 三元表达式.列表推导式.生成器表达式 一 三元表达式 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…
阅读目录 一 三元表达式.列表推导式.生成器表达式 二 递归与二分法 三 匿名函数 四 内置函数 五 阶段性练习 一. 三元表达式.列表推导式.生成器表达式 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…
1.迭代器 (1)可迭代对象 s1 = ' for i in s1: print(i) 可迭代对象 示例结果: D:\Python36\python.exe "E:/Python/课堂视频/day13视频与课堂笔记/day13课堂笔记/day13/02 迭代器.py" 1 2 3 True False Process finished with exit code 0 示例结果 int object is not iterable for i in 123: print(i) Int…
l = [i for i in range(10)] print(l) l1 = ['选项%s'%i for i in range(10)] print(l1) 1.把列表解析的[]换成()得到的就是生成器表达式 2.列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更节省内存 3.Python不但使用迭代器协议,让for循环变得更加通用.大部分内置函数,也是使用迭代器协议访问对象的.例如, sum函数是Python的内置函数,该函数使用迭代器协议访问对象,而生成器实现了迭代器协议…
python 全栈开发 1.生成器函数 2.推导式 3.生成器表达式 一.生成器函数 1.生成器: 生成器的本质就是迭代器 (1)生成器的特点和迭代器一样.取值方式和迭代器一样(__next__(), send(): 给上一个yield传值). (2)生成器一般由生成器函数或者生成器表达式来创建 (3)其实就是手写的迭代器 2.生成器函数: (1)和普通函数没有区别. 里面有yield的函数就是生成器函数. (2)生成器函数在执行的时候. 默认不会执行函数体. 返回生成器 (3)通过生成器的__…
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…
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…
[ ] 列表推导式,是用简单的语法来生成列表, ( ) 生成器表达式,是用简单的语法创建个生成器. 外观上仅括号不一样. 虽然写起来方便,但是读起来稍显费力,另外,不易调试. # 列表推导式 print([i for i in range(9)]) # 原型 print([i*i for i in range(9)]) egg_list=['鸡蛋%s'%i for i in range(10)] print(egg_list) # 生成器表达式 g = (i for i in range(10)…
一.列表推导式 #1.示例 数据量小 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.优点:方便,改变了编程习惯, 二. 生成器表达式 #1.把列表推导式的[]换成()就是生成器表达式 #2.示例:生一筐鸡蛋变成给你一只老母鸡,用的时候就下蛋,这也是生成器的特性 chicken=('鸡蛋%s' %i for i in range(5)) pr…
# for i in range(100):# print(i*i) 列表推导式: # l =[i*i for i in range(100)]# print(l) # l = [{'name':'v','age':28},{'name':'v'}]# name_list = [dic['name'] for dic in l]# print(name_list) 生成器表达式: 写法与列表推导式一样,把[]换成() # l = [{'name':'v1','age':28},{'name':'…
三元表达式 #以下是比较大小,并返回值 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…
三元表达式 三元表达式仅应用于: 1.条件成立返回一个值 2.条件不成立返回一个值 res = x if x>y else y print(res) name= input("姓名>>: ") res="sb" if name == "alex" else "nb" print(res) 函数的递归 函数的递归:函数递归调用,即在函数调用过程中, 又直接或间接的调用了函数本身. 直接调用 def foo():…
从母鸡下蛋的故事讲起 老母鸡 = ('鸡蛋%s'%i for i in range(10)) print(老母鸡) for 蛋 in 老母鸡: print(蛋) g = (i*i for i in range(10)) for i in g: print(i) ①把列表解析的[]换成()得到的就是生成器表达式 ②列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更加节省内存空间 ③Python不但使用迭代器协议,让for循环变得更加通用.大部分内置函数,也是使用迭代器协议访问对象的…
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…
三元表达式 语法格式 如下: 为真时的结果 if 判断条件 else 为假时的结果 例子 name = input('姓名>>: ') res = '请进' if name == '张三' else '再见' print(res) 结果如下 姓名>>: 张三 请进 姓名>>: 李四 再见 列表推导式 列表推导式用于使用其他列表创建一个新列表. 语法格式 如下: # 格式1 [表达式 for 变量 in 列表] # 格式2,对列表进行判断帅选 [表达式 for 变量 in…
一.列表推导式 '''通过一行循环判断,遍历一系列数据的方式''' """ 推导式的语法: val for val in Iterable 三种方式: [val for val in Iterable] {val for val in Iterable} {k:v for k,v in Iterable} """ 1.向列表里插入100条数据 # 列表里面需要100条数据 lst = [] for i in range(1,101): lst.a…
列表推导式: 基本格式: variable = [out_exp_res for out_exp in input_list if out_exp == 2] #out_exp_res: 列表生成元素表达式,可以是有返回值的函数. # for out_exp in input_list: 迭代input_list将out_exp传入out_exp_res表达式中. # if out_exp == 2: 根据条件过滤哪些值可以. 基本示例:求30以内所有能被3整除的数 multiples = [i…
一.三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 二.列表解析 l = [] for i in range(10): if i >= 5: l.append('egg%s' % i) print(l) ####列表解析 l = ['egg%s' % i for i in range(10) if i >= 5] print(l) 三.生成器表达式 g = ('egg%s' % i…
1. 生成器和生成器函数 生成器的本质就是迭代器 生成器的三种创建办法: 1.通过生成器函数 2.通过生成器表达式创建生成器 3.通过数据转换   2. 生成器函数: 函数中包含了yield的就是生成器函数 注意:生成器函数被执行. 获取到的是生成器. 而不是函数的执行生成器表达式: (结果 for 变量 in 可迭代对象 if 筛选) 取值: 1. __next__() def func(): print("我是周杰伦") yield "昆凌" # 函数中包含了y…
列表推导式: #列表推导式: egg_list = [] for i in range(10): egg_list.append('鸡蛋%s'%i) print(egg_list) egon egg_list=['鸡蛋%s'%i for i in range(10)] #列表推导式 print(egg_list) # print([i*i for i in range(10)]) 生成器表达式: #生成器表达式 g = (i for i in range(10)) print(g) for i…
Python进阶(四)----生成器.列表推导式.生成器推导式.匿名函数和内置函数 一丶生成器 本质: ​ 就是迭代器 生成器产生的方式: ​ 1.生成器函数…
一.列表推导式: ls = [元素表达式 for i in 可迭代对象 if 筛选条件] 案例: # -*- coding: utf-8 -*- '''列表生成式练习''' # 练习一(三元表达式):编写名为collatz(number)的函数:实现的功能:参数为偶数时,打印number// 2;参数为奇数时,打印3*number + 1 num = int(input('num:')) def collatz(number): pr_num = number // 2 if number %…
列表推导式 egg_list=['鸡蛋%s'%i for i in range(10)] print(egg_list) 列表推导式 推导过程 egg_list = [] for i in range(10): egg_list.append('鸡蛋%s'%i) print(egg_list) print([i*i for i in range(10)]) for循环 生成器表达式 g = (i for i in range(10)) print(g) for i in g: print(i)…
列表推导式 产生背景 现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求你把列表里的每个值加1,你怎么实现? 第一种方法: a = [1,3,4,6,7,7,8,9,11] for ind, val in enumerate(a): a[ind] += 1 print(a) 第二种方法: a = [1,3,4,6,7,7,8,9,11] print(list(map(lambda x: x+1, a))) 列表推导式: a = [1,3,4,6,7,7,8,9…
目录 1. 迭代器 2. 推导式 1. 迭代器 什么是生成器呢,其实生成器的本质就是迭代器:在python中有3中方式来获取生成器(这里主要介绍前面2种) 通过生成器函数获取 通过各种推导式来实现生成器 生成器函数 我们来看一个普通的函数: In[2]: def func1(): ...: print('aaaa') ...: return 1111 ...: In[3]: fun = func1() aaaa In[4]: print(fun) 1111 那么生成器函数跟普通函数有什么不同呢,…
1.把一个字符串变成 Unicode 码位的列表 >>> symbols = '$¢£¥€¤' >>> codes = [] >>> for symbol in symbols: ... codes.append(ord(symbol)) ... >>> codes [36, 162, 163, 165, 8364, 164] 2.把字符串变成 Unicode 码位的另外一种写法 >>> symbols = '$¢£…
1.推导式规则 [每一个元素或者是和元素相关的操作 for 元素 in 可迭代数据类型] ----------遍历之后挨个处理[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关的条件] ----------筛选功能 2.列表推导式 # 原始的 num_list = [] for i in range(10): num_list.append(i) print(num_list) # 现在的---列表推导式 num_list = [i for i in range(10…
1. 推导式(列表推导式.集合推导式.字典推导式) # ### 推导式 : 通过一行循环判断,遍历出一系列数据的方式是推导式 """ 推导式一共三种: 列表推导式,集合推导式,字典推导式 [val for val in Iterable] {val for val in Iterable} {a:b for a,b in iterable} """ # (1)单循环的推导式 """[1,2,3,4,5,6,7,8 .…
列表推导式 [] + for + if 算子.循环.条件, 对相同的数据进行处理, 算子也可以是函数 number = [i for i in range(1, 101) if i % 2 == 0] print(number) def add_one(value): return str(int(value) + 1) number_str = "123456789" print(''.join([add_one(i) for i in number_str])) 生成器表达式 把列…