![对比Excel,轻松学习Python数据分析(入职数据分析师系列)](https://wfqqreader-1252317822.image.myqcloud.com/cover/712/25462712/b_25462712.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.13 高级特性
2.13.1 列表生成式
现在有一个列表,你需要对该列表中的每个值求平方,然后将结果组成一个新列表。我们先看看普通方法怎么实现。
普通方法实现如下:
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0067-0130.jpg?sign=1739279205-NbJea5yivlGHStVXu2UkmAeQRb9dH2C4-0-bf8f4ca4404fb6c92e217e9cea58ae42)
列表生成式实现如下:
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0067-0131.jpg?sign=1739279205-iImV7lqqYDAVN2hoVJ820z2i6pmDzrot-0-5feaa48d4d42a832471686c562c2ff61)
上面的需求比较简单,你可能没有领略到列表生成式的妙用。我们再来看一些比较复杂的需求。
现在有两个列表,需要把这两个列表中的值两两组合,我们分别用普通方法和列表生成式实现一下。
普通方法实现如下:
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0067-0132.jpg?sign=1739279205-A7deQ7cDhrY8DRyikIhzroF3zFibkr1o-0-673d66a7afe394ea4727d99928e4d534)
列表生成式实现如下:
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0067-0133.jpg?sign=1739279205-1DChnersG1VRdfj0PAZD4gDfyTpoTbSr-0-0bde5712f44f3446cd086bb2a6372cf0)
上面的需求用普通方法要嵌套两个for循环,但是用列表生成式只要一行代码即可。如果数据量很小,那么 for 循环嵌套运行速度还行;如果数据量很大,那么 for循环嵌套太多程序,运行就会变得很慢。
2.13.2 map函数
map 函数的表现形式是 map(function,agrs),表示对序列 args 中的每个值进行function操作,最终得到一个结果序列。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0068-0134.jpg?sign=1739279205-9k91xWmblNwti3fABP7ma8j8slIato97-0-1710206cc3a97d68b3e5c753e03f3a14)
map函数生成的结果序列不会直接把全部结果显示出来,要想获取到结果需要for循环遍历取出来。也可以使用list方法,将结果值生成一个列表。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0068-0135.jpg?sign=1739279205-n6awVGmGRqbSmHgCUkTueYhshNkn01r6-0-4b7dd9e282c5142f5ffc30868a5fe96a)