我:小哥哥,前几天你教我的代码我有些不懂,你可以给我说一下吗?
惨绿青年:哪里的代码?
我:下图里join()里的那一坨。
惨绿青年:这是列表推导式。
我:列表推导式是什么鸭?有什么用?
惨绿青年:列表推导式是从一个或者多个可迭代对象中快速简洁地创建列表的一种方法。例如你给出的图里面的代码,可以以下图的方式写出来。
惨绿青年:列表推导式的结构一般如下图:
惨绿青年:上图的代码是创建一个列表,列表里的元素是0到9999的偶数。写成普通形式的话如下图:
我:那列表推导式还有其它优点吗?
惨绿青年:当然有,它的速度比普通的循环要快,下面我们举个栗子:
惨绿青年:上面的方式是普通的循环,下面的方式是列表推导式。这种少量的操作可能看不出什么差距,我们加个判断试试:
惨绿青年:这时候差距就体现出来了,可以看到列表推导式的消耗的时间是普通循环的一半。
惨绿青年:当然循环嵌套也是可以用在列表推导式的,结构也是类似。下图的代码就是生成一个0到99的平方的列表。
我:woo~真厉害鸭~列表推导式不仅能减少代码,还能减少运行的时间,我要多多练习才行!
总结:
1、列表推导式是从一个或者多个可迭代对象中快速简洁地创建列表的一种方法。
2、列表推导式的结构为“[表达式 循环体 判断语句]”,别忘记了方括号哦~
今天也学到了很多东西呢,明天有什么新知识呢?真期待鸭~如果喜欢文章可以关注我哦~