Python 入门笔记(九)推导式
前面我们讲了 Python 中的几种高级数据类型(列表、字典、集合、元组)
推导式就是一个工具,能构建一种函数关系,从现有对象推导出新对象
而根据新对象的类型,推导式也分为列表推导式、字典推导式、集合推导式和元组推导式
语言的描述总是不够的,最好的理解方式就是来看代码
列表推导式
基本结构:
1 | [表达式 for 某元素 in 某对象 if 条件] |
它的含义是通过 for
结构枚举出每个元素,然后利用表达式生成新的元素,表达式可以是调用自身的方法,也可以是函数,而条件是可选的,可以过滤列表中不符合条件的值
例1:过滤掉长度小于或等于 3 的字符串列表,并将剩下的转换成大写字母
1 | 'Bob','Tom','alice','Jerry','Wendy','Smith'] names = [ |
例2:计算 30 以内可以被 3 整除的整数
1 | for i in range(30) if i % 3 == 0] multiples = [i |
是不是很优雅?一行就搞定了!
字典推导式
基本格式:
1 | {键表达式:值表达式 for 某元素 in 某对象 if 条件} |
例1:
1 | listdemo = ['Google','Runoob', 'Taobao'] |
例2:
1 | 2 for x in (2, 4, 6)} dic = {x: x** |
集合推导式
1 | {表达式 for 某元素 in 某对象 if 条件} |
例1:计算数字 1,2,3 的平方数
1 | 2 for i in (1,2,3)} setnew = {i** |
例2:判断不是 abc 的字母并输出
1 | for x in 'abracadabra' if x not in 'abc'} a = {x |
元组推导式
基本格式:
1 | tuple(表达式 for 某元素 in 某对象 if 条件) |
元组推导式与前面的所有推导式都不同,因为元组的括号本身是没有意义的,所以用小括号括起来不能代表一个元组,需要手动转成元组类型
1 | for x in range(1,10)) a = (x |
评论
GiscusTwikoo