
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.13 高级特性
2.13.1 列表生成式
现在有一个列表,你需要对该列表中的每个值求平方,然后将结果组成一个新列表。我们先看看普通方法怎么实现。
普通方法实现如下:

列表生成式实现如下:

上面的需求比较简单,你可能没有领略到列表生成式的妙用。我们再来看一些比较复杂的需求。
现在有两个列表,需要把这两个列表中的值两两组合,我们分别用普通方法和列表生成式实现一下。
普通方法实现如下:

列表生成式实现如下:

上面的需求用普通方法要嵌套两个for循环,但是用列表生成式只要一行代码即可。如果数据量很小,那么 for 循环嵌套运行速度还行;如果数据量很大,那么 for循环嵌套太多程序,运行就会变得很慢。
2.13.2 map函数
map 函数的表现形式是 map(function,agrs),表示对序列 args 中的每个值进行function操作,最终得到一个结果序列。

map函数生成的结果序列不会直接把全部结果显示出来,要想获取到结果需要for循环遍历取出来。也可以使用list方法,将结果值生成一个列表。
