python基础--列表推导式 1 列表推导式定义 列表推导式能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 2 列表推导式语法 基本格式如下: [expr for value in collection ifcondition] 过滤条件可有可无,取决于实际应用,只留下表达式 列表推导式例子: l=["egg%s"%i for i in range(10)] print(l) 类似于这段for代码: egg_list=[] for i in range(…
python中列表推导式有三种数据类型可用:列表,字典,集合 列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 1,列表推导式例子: names=['阿西','阿夏',1234,['aaa'],'答案'] new_names=[name for name in names if not isinstance(name,str)]#判断name是不是str类型 print(new_names) 2,集合推导式例子,不同之处指…
列表推导式 [表达式 for 变量 in range(n) if 条件] 等效于 for 变量 in in range(n): if 条件: 表达式 优点:书写方便,缺点:不易读 注意:用的是方括号,如果是小括号则不是列表推导式,而是生成器(不做要求) Lambda匿名函数 lambda 变量:表达式 表达式是函数的处理逻辑,冒号前面的返回值 例如实现5的阶乘 1*2*3*4*5=120 优点:书写方便,缺点:不易读,只能写简单功能,只能使用一次 os模块 os是操作系统模块 1.getcw…
结论: 1.把列表解析的[]换成()得到的就是生成器表达式 2.列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更节省内存 3.Python不但使用迭代器协议,让for循环变得更加通用.大部分内置函数,也是使用迭代器协议访问对象的.例如, sum函数是Python的内置函数,该函数使用迭代器协议访问对象,而生成器实现了迭代器协议,所以,我们可以直接这样计算一系列值的和: sum(x ** 2 for x in xrange(4)) 而不用多此一举的先构造一个列表: sum([x…