Python——迭代器的几个高级用法
今天我们依然介绍的是迭代器,不过介绍的是几个比较常用的 高级用法 ,在实际场景当中非常实用,可以帮助我们大大简化代码的复杂度。 跳过开头 首先是跳过开始部分,这个在我们读取文本的时候最常用。在实际的应用当中,比如记录的日志或者是代码等等,一般来说 头部都会附上一段说明 ,或者用注释标注或者是用特殊的符号标记。这些信息是给用到数据的程序员看的,当我们通过代码获取数据的时候,显然是希望可以过滤掉这些信息的。 比如我们有一段数据,它的开头用#做了一些注释: # This is a data for student # Rows 100 xiaoming, 17, 99; xiaoli, 18, 98; ... 常规操作当中,我们会创建一个打开文件的迭代器,我们通过遍历这个迭代器去获取文件当中的数据: with open('xxxx.txt') as f: for line in f: print(line) 如果只是用来输出还好,如果我们需要加工文件当中的数据,那么头部的注释信息就会干扰我们代码的运行。我们当然可以手动加入一些判断,但是这会比较麻烦,代码也不够美观。针对这个问题,一个比较好的解决方案是 dropwhile 。 dropwhile是itemtools当中的一个函数,它可以 接收一个我们自定义的过滤函数和迭代器重新生成一个新的迭代器