200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > day13三元表达式 列表生成式 生成器表达式 匿名函数 内置函数

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

时间:2019-02-02 16:32:45

相关推荐

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

三元表达式:

语法:

条件成立返回左边的值 if 判断条件 else 条件不成立返回右边的值

# 需求: 让用户输入用户名,输入的用户如果不是tank,为其后缀添加_DSBusername = input("请输入用户名:").strip()new_username = username if username == "tank" else username "_DSB"print(new_username)

列表生成式:

可以一行实现生成列表。

语法:

​ list = [取出的每一个值、任意值 for 可迭代对象中取出的每一个值 in 可迭代对象]

for的右边是循环次数,并且可以取出可迭代对象中每一个值

for的左边可以为当前列表添加值

​ list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象]

​ list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象 if 判断]

# 列表生成式# 普通的new_list = []for i in range(1, 6): new_list.append(i)print(new_list)#列表new_list = [i for i in range(1, 6)]print(new_list)

生成器表达式(生成器生成式)

1.什么是生成器?

生成的工具,生成器就是自定义的一个迭代器,本质是迭代器

若函数体包含yield关键字,再调用函数,并不会执行函数体代码,得到的额返回值即生成器对象。

列表生成式: 若数据量小时采用

优点:

​ 可以依赖索引取值

缺点:

​ 浪费资源

生成器生成式:若数据量过大时采用

(line for line in range(1, 6))--->g生成器(1, 2, 3, 4, 5)

优点:

​ 节省资源

缺点:

​ 取值不方便

# 生成一个有1000个值的生成器g = (line for line in range(1, 1000001))# <generator object <genexpr> at 0x00000203262318E0>print(g)# 列表生成式实现list1 = [line for line in range(1, 1000001)]print(list1)

匿名函数

无名字的函数

左边是参数, 右边是返回值

lambda :

PS: 原因,因为没有名字,函数的调用 函数名 ()

匿名函数需要一次性使用。

注意: 匿名函数单独使用毫无意义,它必须配合 “内置函数” 一起使用的才有意义

内置函数

python内部提供的内置方法

max , min , sorted , map , filter

dict1 = { "tank": 1000, "egon": 500, "sean": 200, "jason": 500}print(max(dict1, key=lambda x:dict1[x])) #max,最大。排序根据ASCII自码表排序的print(min(dict1,key=lambda x:dict1[x]))# 最小的new_list = sorted(dict1,key=lambda x: dict1[x],reverse=True)print(new_list)

来源:/content-4-559901.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。