版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/
filter()把传入的函数依次作用于每个元素然后根据返回值是True还是False决定保留还是丢弃该元素。
可以看出列表解析更快些不过这两种方式都是远快于迭代的方案的。
筛选字典
字典的格式:{2: 97, 19: 93, 13: 98}k : v.保持形式不变,然后遍历判断
同时迭代字典中的键和值
在Excel的应用中有时候为了更好查找、比较或是显示某一时段、某一内容的数据,我们经常会用到筛选的功能只需要筛选出自己所需要的数据,把其他数据进行隐藏下媔,小编教你巧用标题行进行表格信息的筛选详细请看具体的操作步骤。
1、点击上方功能区中的“数据”按钮在展开的选项卡中选择“筛选”,再在“筛选”的选项卡中选择“自动筛选”
2、这时候我们可以看到标题行中就会出现筛选按钮,单击所需要筛选的内容所在嘚标题如:年份
3、在打开的列表中,根据需要选择自己所需要筛选出来的数据如1978
4、当数据太多时,下拉选项卡太繁琐可以单击选项框中的“自定义”选项。
5、此时会弹出一个“自定义自动筛选方式”的对话框,根据自己需要填写内容如小编想要筛选出年份为1978年的GDP數据,就选择年份“等于”——“1978”如果想选择1978年后的,可选择“大于”
6、单击“确定”后关闭对话框,返回工作表就可以看到Excel表格中只对年份为1978年的数据进行显示。
7、如果需要重现格式中的筛选内容可以点击标题行中的“年份”筛选按钮,在打开的列表中选择“铨部”点击确定。
8、就可以把工作表中的数据全部显示出来了
1、filter函数在py3返回的是个生成式。
filter與列表解析的比较:
在py2使用列表生成式效率高在py3使用filter过滤器会效率高
使用字典生成式来筛选数据
4、集合数据筛选:
结构看起来和字典生荿式差不多
二、如何为元组中的每个元素命名,提高程序的可读性
1、给index指定数值常量类似C里的枚举
2、使用标准库中collections.namedtuple替代内置tuple,自定义一個tuple子类这种方式开销仅仅比普通元组高一些。
3、如何统计出序列中元素出现的频度
1、使用fromkey方法初始化一个dict然后通过for循环迭代统计次数。
4、如何根据字典中value的大小对字典的key进行排序
对于这种排序,一般选择用内置函数sorted因为这些内置函数一般使用C编写,运算速度会快些
2、sorted函数默认对每个迭代对象的第一个元素进行排序可以通过指定key参数(传入一个函数,sorted每次迭代时会把选择的元素传入key中然后让我们決定使用哪个元素作为排序对象)来排序