网站建设与管理计划书,久久建筑网图集免费下载,做淘宝网站用什么浏览器,知名个人网站转自https://www.jianshu.com/p/104cec085611#xff0c;部分图出不来#xff0c;mark一下#xff0c;关键时候供查看。第二章 数据结构相关话题2.1、筛选数据两种方式filter函数#xff1a;filter(lambda x: x0, data)注意#xff1a;python3 需要把filter的结果转为…转自https://www.jianshu.com/p/104cec085611部分图出不来mark一下关键时候供查看。第二章 数据结构相关话题2.1、筛选数据两种方式filter函数filter(lambda x: x0, data)注意python3 需要把filter的结果转为list 也就是list(filter(lambda x: x0, data))加条件的遍历: [ x for x in data if x 0 ]如果想转成集合就把[]改成{}2.2、如何为元组的每个元素命名使用元组的好处减少存储开销缺点使用索引访问元素降低程序可读性解决方案1、定义一系列数值常量NAME, AGE, SEX, EMAIL range(4)2、使用标准库中的collections.namedtuple替代内置tuple2.3、如何统计序列中出现的频度解决方案使用collections.Counter对象将序列传入Counter的构造器得到Counter对象是元素频度的字典Counter.most_common(n)方法得到频度最高的n个元素的字典2.4、如何根据字典中值的大小对字典进行排序解决方案使用内置函数sorted2.5、如何快速找到多个字典的公共键案例统计每轮比赛都有进球的球员解决方案利用集合的交集操作1、使用字典的viewkeys()方法得到一个字典keys的集合2、使用map函数得到所有字典的keys的集合3、使用reduce函数取所有字典的keys的集合的交集2.6、如何让字典保持有序也就是遍历的时候按插入顺序打印解决方案使用collections.OrderedDict以OrderedDict代替内置字典dict依次将数据存入OrderedDict2.7、如何实现用户的历史记录功能(最多n条)解决方案使用容量为n的队列容量存储历史记录使用标准库collections中的deque,它是一个双端循环队列程序退出前可以使用pickle将队列存入文件再次运行时将其导入。第三章 迭代器3.1、如何实现可迭代对象和迭代器对象可迭代对象需要有iter方法这个方法返回迭代器对象。而迭代器对象则要有next()3.2、如何使用生成器函数实现可迭代对象yield关键字yield 是一个类似 return 的关键字只是这个函数返回的是个生成器当你调用这个函数的时候函数内部的代码并不立马执行 这个函数只是返回一个生成器对象当你使用for进行迭代的时候函数中的代码才会执行3.3、 如何进行反向迭代以及如何实现反向迭代解决方案1、使用内置函数reversed()方法2、实现反向迭代协议的 __reverse 方法它返回一个反向迭代器3.5、 如何对迭代器做切片操作解决方案使用标准库中的itertools.islice,它能返回一个迭代对象切片的生成器3.6、如何在一个for语句中迭代多个可迭代对象解决方案并行使用内置函数zip,它能将多个可迭代对象合并每次迭代返回一个元组串行使用标准库中的itertools.chain,它能将多个可迭代对象连接第四章 字符串处理4.1、如何拆分含有多种分隔符的字符串解决方案1、连续使用str.split()方法每次处理一种分隔符2、使用正则表达式的re.split()方法一次性拆分字符串4.2、如何判断一个字符串是以b开头或结尾解决方案使用字符串的str.startswith()和endswith()方法。注意多个匹配时参数使用元组。4.3、如何调整字符串中文本的格式解决方案使用正则表达式re.sub()方法做字符串替换利用正则表达式的捕获组捕获每个部分内容在替换字符串中调整各个捕获组的顺序4.4、如何将多个小字符串拼接成一个大字符串解决方案方法一迭代列表使用‘’连接字符串方法二使用str.join()方法更加快速的拼接列表的字符串4.5、如何对字符串进行左中右对齐解决方案1、使用字符串的str.ljust(), str.rjust(), str.center()进行左中右对齐2、使用format()方法传递类似‘20’, ^20, 20参数4.6、如何去掉字符串中不需要的字符解决方案1、字符串strip(), lstrip(), rstrip()去掉字符串两端字符2、删除单个固定位置的字符可以使用切片 拼接的方式3、字符串的replace方法或正则表达式re.sub()删除任意位置字符4、字符串translate()方法可以同时shanchu删除多种不同字符第五章 文件处理5.1、如何读写文本文件(py2和py3区别)字符串的语义发生变化py2 py3str --- bytesunicode ---- str解决方案py2 写入文件前对unicode编码读入文件后对二进制解码py3 open函数指定‘t’的文本模式encoding指定编码格式5.2、如何处理二进制文件解决方案open函数以二进制模式打开文件指定mode为‘b’二进制文件可以用readinto读入到提前分配好的buffer中便于数据处理解析二进制文件可以用标准库中的struct模块的unpack方法5.3、如何设置文件的缓冲解决方案设置open函数的buffering参数1、全缓冲buffering设置为大于1的整数nn为缓冲区大小2、行缓冲buffering设置为1遇到换行符\n就停止缓冲3、无缓冲buffering设置为05.4、如何将文件映射到内存解决方案使用标准库mmap模块中的mmap()函数它需要一个打开的文件描述符作为参数5.5、如何访问文件的状态解决方案1、系统调用标准库中os模块下的三个系统调用stat, fstat, lstat获取文件状态2、快捷调用标准库中os.path下一些函数使用起来更加简洁(没有文件 访问权限的函数)5.6、如何使用临时文件解决方案使用标准库中tempfile下的TemporaryFile, namedTemporaryFile第六章 数据处理6.1、如何读写CSV数据解决方案使用标准库中的CSV模块可以使用其中reader和writer完成CSV读写6.2、如何读写json数据解决方案使用标准库中的json模块其中loadsdumps函数可以完成json数据的读写6.3、如何读写Excel文件解决方案使用第三方库xlrd和xlwt这两个库分别用于Excel读和写