摘要:
问题:从序列中移除重复的元素,但仍然保持剩下的元素顺序不变 解决方案: 1、如果序列中的值时可哈希(hashable)的,可以通过使用集合和生成器解决。 2、如果序列时不可哈希的,想要去除重复项,需要对上述代码稍作修改: key参数的作用是指定一个函数用来将序列中的元素转化为可哈希的类型,如此可以检 阅读全文
摘要:
问题:寻找两个字典中间相同的地方(相同的键、相同的值等) 解决方案:通过keys()或者items()方法来执行常见的集合操作(比如求并集、交集和差集) 这些类型的操作也可用来修改或过滤掉字典中的内容。例如: 总结: 字典的keys()方法、items()方法支持集合操作,但是values()方法不 阅读全文
摘要:
问题:在字典上对数据执行各式各样的计算(比如求最小值、最大值、排序)。 解决方案:利用zip()将字典的键-值对“反转”为值-键对序列。 例如:如下字典存放的股票名称和对应的价格: 进行这些计算时,请注意zip()创建了一个迭代器,它的内容只能消费一次。例如: 注意:当涉及(value,key)对的 阅读全文
摘要:
问题:创建一个字典,同时对字典做迭代或序列化操作时,也能控制其中元素的顺序; 解决方案:可以使用collections模块中的OrderedDict类来控制字典中元素的顺序。当对字典做迭代时,他会严格按照元素初始添加的顺序进行。例如: 当想构建一个映射结构以便稍后对其做序列化或编码成另一种格式时,O 阅读全文