上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 49 下一页
摘要: 问题:在逻辑上将多个字典或映射合并为一个单独的映射结构,以此执行某些特定的操作,比如查找值或者检查键是否存在 解决方案:利用collections模块中的ChainMap类 ChainMap可接受多个映射然后在逻辑上使它们表现为一个单独的映射结构。这些映射在字面上并不会合并在一起。相反,ChainM 阅读全文
posted @ 2016-08-08 22:48 垄上行 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 问题:我们需要调用一个换算函数(例如sum()、min()、max()),但是首先需对数据做转换或者筛选处理 解决方案:非常优雅的方法 在函数参数中使用生成器表达式 例如: 总结: 该方案展示了当把生成器表达式作为函数的参数时在语法上的一些微妙之处(即,不必重复使用圆括号),比如,如下的两行代码表示 阅读全文
posted @ 2016-08-08 22:17 垄上行 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 问题:希望通过名称来访问元素,减少结构中对位置的依赖性 解决方案:使用命名元组collections.namedtuple()。它是一个工厂方法,返回的是python中标准元组类型的子类,提供给它一个类型名称以及相应的字段名称,它就返回一个可实例化的类,为你以定义好的字段名称传入值等。 命名元组的主 阅读全文
posted @ 2016-08-07 23:13 垄上行 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 问题:想创建一个字典,其本身是另一个字典的子集 解决方案:利用字典推导式(dictionary comprehension)可轻松解决 字典推导式的方案清晰且运行起来很快。 阅读全文
posted @ 2016-08-07 22:43 垄上行 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 问题:提取出序列中的值或者根据某些标准对序列做删减 解决方案:列表推导式、生成器表达式、使用内建的filter()函数 1、列表推导式方法:存在一个潜在的缺点,如果输入数据非常大可能会产生一个庞大的结果,考虑到该问题,建议选择生成器表达式 2、生成器表达式方法: 3、如果筛选标准无法简单表示在列表推 阅读全文
posted @ 2016-08-07 22:28 垄上行 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 问题:想根据字典或者对象实例的某个特定的字典(比如日期)来分组迭代数据 解决方案:itertools.groupby()函数在对数据进行分组时特别有用(前提是先以目标字典进行排序) 阅读全文
posted @ 2016-08-07 21:40 垄上行 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 问题:想在同一个类的实例之间做排序,但是它们并不原生支持比较操作。 解决方案:使用内建的sorted()函数可接受一个用来传递可调用对象的参数key,sorted利用该可调用对象返回的待排序对象中的某些值来比较对象。 使用lambda表达式还是operator.attrgetter()或许只是个人偏 阅读全文
posted @ 2016-08-07 20:57 垄上行 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 问题:想根据一个或多个字典中的值来对列表排序 解决方案:利用operator模块中的itemgetter()函数对这类结构进行排序是非常简单的。 补充说明: 有时候会利用lambda表达式来取代itemgetter()的功能:但是利用itemgetter()会运行的更快一些,所以考虑性能的话,应该使 阅读全文
posted @ 2016-08-07 20:22 垄上行 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 问题:找出一个元素序列中出现次数最多的元素是什么 解决方案:collections模块中的Counter类正是为此类问题所设计的。它的一个非常方便的most_common()方法直接告诉你答案。 在底层实现中,Counter是一个字典,在元素和它们出现的次数间做了映射。 增加元素出现次数可以通过手动 阅读全文
posted @ 2016-08-07 20:05 垄上行 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 问题:如何清理掉到处都是硬编码的切片索引 解决方案:对切片命名 假设有一些代码用来从字符串的固定位置中取出具体的数据(比如从一个平面文件或类似的格式:平面文件flat file是一种包含没有相对关系结构的记录文件): 与其这样做,倒不如对切片进行命名:避免了使用许多神秘难懂的硬编码索引,代码变得清晰 阅读全文
posted @ 2016-08-07 18:26 垄上行 阅读(374) 评论(0) 推荐(0) 编辑
上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 49 下一页