老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Python中的生成表达式和列表解析总结!Python学习

老男孩IT教育

常见问题

2021年9月9日 17:39

Python有一个十分强大的特性,即对list(列表)的解析,它提供了一种方法,可以通过对list中的每个元素应用一个函数,从而达到将list映射为另一个list,而生成表达式则是返回一个生成器对象,使用它可以节省大量代码,请看下文:

       Python语言有一个十分强大的特性,即对list(列表)的解析,它提供了一种方法,可以通过对list中的每个元素应用一个函数,从而达到将list映射为另一个list,而生成表达式则是返回一个生成器对象,使用它可以节省大量代码,请看下文:

Python培训班

       列表解析功能适用于,需要改变列表而不是新建列表时所使用,解析表达式为:

expr for iter_var in iterable
expr for iter_var in iterable if cond_expr

       第一种语法迭代了iterable里所有内容,每一次迭代都把iterable里相应内容放到iter_var中了,然后在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个新的列表。

       而第二种,则是加入了判断语句,即if,只有满足我们的条件才能把iterable里的内容放到iter_var中,然后在表达式中应用该iter_var的内容,最后根据表达式的计算值生成一个新的列表。

       生成器表达式是在Python2.4中引入的,在序列过长时而我们只需要获取一个元素时,可以考虑生成器表达式而不是列表解析,其实两者语法一样,只不过生成器表达式是被小括号括起来的,而不是[]的。

       生成器表达式并不是真正的创建数字列表,而是返回一个生成器,此生成器在每次计算出一个数值后,把这个数值产生出来,即yield,所以在列表较长的情况下使用内存才更有效。

       关于"Python中的生成表达式和列表解析总结"到这里就结束了,我们在2012年就已经开设了Python学科,也是较早的Python培训机构,因此我们的师资和课程体系已是十分完善的了!欢迎大家选择老男孩教育。

       推荐阅读:

       Python可以实现哪些自动化技术?Python培训机构

       Redis中的持久化RDB和AOF有什么区别?Python培训

       Python中的标识符有哪些基础原则?Python专业培训

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。