每日一题1-2-读《Python-Codebook》
1.6在字典中将键映射到多个值
将这多个值保存在另一个容器如列表或集合中。
使用collections模块中的defaultdict类。
collections模块中的defaultdict类是Python标准库中的一个字典(dict)子类,它提供了所有常规字典的方法。defaultdict的主要特点是在访问不存在的键时,会自动创建该键并将其值设置为一个默认值,这个默认值是通过在创建defaultdict对象时传递给构造器的可调用对象(如函数)返回的。
以下是defaultdict的一些主要特性:
- 自动创建不存在的键:当尝试访问一个不存在的键时,defaultdict会自动创建这个键并将其值设置为由默认工厂函数返回的值。
- 可指定默认值的类型:可以指定默认值的类型,如list、int、set等,这使得defaultdict非常适合于收集和组织数据。
- 简化代码:使用defaultdict可以避免在字典操作中频繁检查键是否存在的代码,使得代码更简洁易读。
1.7让字典保持有序
collections模块中的OrderedDict类。当对字典做迭代时,他会严格按照元素初始添加顺序进行。
注意:OrderedDict的大小是普通字典的2倍多。
1.8与字典有关的计算问题
利用zip()将字典中的键和值反转。
1.9在两个字典中寻找共同点
通过keys()或items()方法执行常见的集合操作。
1.10从序列中移除重复项并保持元素间顺序不变
通过集合和生成器解决。
1 | def dedupe(items): |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 NULL!