随笔分类 - Python/奇技淫巧
摘要:分割方法总结
1. str.split( )
2. re.split()
搜索和匹配方法总结
1. str.startswith() | str.endswith()
2. fnmatch() | fnmatchcase()
3. str.find()
4. re.match(r'')
5. re.findall(r'')
6. re.finditer(r'')
7. r' $'——>正则表达式以$结尾
8. re.compile(r'')——>先编译正则表达式
9. ?修饰符
搜索和替换方法总结
1. str.replace()
2. re.sub() | re.(flags=re.IGNORECASE)
3. re.compile()
4. re.subn()
阅读全文
摘要:问题 现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作, 比如查找值或者检查某些键是否存在。 解决方案 使用 collections 模块中的 ChainMap 类 ChainMap类 1. 一个 ChainMap 接受多个字典并将它们在逻辑上变为一个字典。 然后,这些字
阅读全文
摘要:列表推导
filter(函数,序列)
itertools.compress(data,selectors)
过滤数据时转换数据
过滤数据时替换数据
阅读全文
摘要:怎样在数据字典中执行一些计算操作(从而实现求最小值、最大值或排序等等)?——zip()函数
如何创建一个字典,并且在迭代或序列化这个字典的时候能够控制元素的顺序?——OrderedDict 有序字典
如何能根据某个或某几个字典字段来排序一个字典列表?——operator模块的itemgetter函数
阅读全文
摘要:问题 你有一个字典或者实例的序列,然后你想根据某个特定的字段(比如‘date’)来分组迭代访问。 问题 你有一个字典或者实例的序列,然后你想根据某个特定的字段(比如‘date’)来分组迭代访问。 解决方案 itertools.groupby( )函数 解决方案 itertools.groupby(
阅读全文
摘要:找出一个序列中出现次数最多的元素?叠加统计?......Counter 对象在几乎所有需要制表或者计数数据的场合是非常有用的工具。在解决这类问题的时候你应该优先选择它,而不是手动的利用字典去实现。
阅读全文
摘要:collections 模块中的 defaultdict(默认字典),可以用来构造“一个键映射多个值”这样的字典;如果我们想根据某一个字段将数据分组到一个大的数据结构中,并且允许随机访问,可以考虑使用defaultdict( )来构建一个多值字典;创建一个多值映射字典
阅读全文
摘要:参考文章 cookbook-python3-1.5-实现一个优先级队列 浅谈算法和数据结构: 五 优先级队列与堆排序 heap模块和堆排序
阅读全文
摘要:求TopN/BtmN问题、排序问题的方法:nlargest()/nsmallest()、min()/max()、sorted()+切片、三种方法的效率比较和详细用法
阅读全文