1039: python基本数据类型--字典
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:32
Solved:0
Description
基础在这里:https://www.runoob.com/python/python-dictionary.html
我在这里为大家做一些补充
首先再次回顾:
字典 的 键是不可hash的,即他的键是不可变。
字典的值可以重复,键不能重复
字典的查找速度非常快,但是所消耗的空间很大,可以理解为用空间换时间。
一般建议通过d.get方法获取值,这样匹配不到键就返回None不会报错(不必强求)
reversed(dictview) 返回一个逆序获取字典键、值或项的迭代器。 视图将按与插入时相反的顺序进行迭代。
我们这次通过讲解一个字典的排序问题,顺便再学习学习lambda怎么玩。
我在这里为大家做一些补充
首先再次回顾:
字典 的 键是不可hash的,即他的键是不可变。
字典的值可以重复,键不能重复
字典的查找速度非常快,但是所消耗的空间很大,可以理解为用空间换时间。
一般建议通过d.get方法获取值,这样匹配不到键就返回None不会报错(不必强求)
字典视图对象
由 dict.keys(), dict.values() 和 dict.items() 所返回的对象是 视图对象。 该对象提供字典条目的一个动态视图,这意味着当字典改变时,视图也会相应改变。
字典视图可以被迭代以产生与其对应的数据,并支持成员检测:
len(dictview)
返回字典中的条目数。
iter(dictview)
返回字典中的键、值或项(以 (键, 值) 为元素的元组表示)的迭代器。
键和值是按插入时的顺序进行迭代的。 这样就允许使用 zip() 来创建 (值, 键) 对: pairs = zip(d.values(), d.keys())。 另一个创建相同列表的方式是 pairs = [(v, k) for (k, v) in d.items()].
在添加或删除字典中的条目期间对视图进行迭代可能引发 RuntimeError 或者无法完全迭代所有条目。
在 3.7 版更改: 字典顺序会确保为插入顺序。
x in dictview
如果 x 是对应字典中存在的键、值或项(在最后一种情况下 x 应为一个 (键, 值) 元组) 则返回 True。 reversed(dictview) 返回一个逆序获取字典键、值或项的迭代器。 视图将按与插入时相反的顺序进行迭代。
我们这次通过讲解一个字典的排序问题,顺便再学习学习lambda怎么玩。
Sample Input Copy
Sample Output Copy