映射-->字典
定义 字典(dict)是一种无序集合对象类型,可以存储任意的数据类型 字典也是Python中唯一的映射类型,通过"key-value"键值对的方式存储数据 与列表相比,字典是无序的,列表是有序;列表采用偏移位置来存取,字典采用键/散列映射来存取,速度快效率高 列表虽然速度慢,但是内存消耗小 字典虽然速度快,但是内存消耗大 功能 支持复杂的数据存储和处理 用于存储其他对象信息 Python最强大的“容器”
语法 变量 = {键1:值1,键2:值2,……} d = {key1 : value1, key2 : value2,…… } d ={'A':1,'B':2,'C':3} 特征 无序:字典中信息没有按索引位置存储,而是按照散列映射关系存储 可变:键是不可变的,并且必须是唯一的 键值对根据键的散列值作为索引,若键发生变动,则无法找到对应的值 键只能由数字、字符串、元组等不可变对象组成,不能用列表 >>> d ={['a']:1,'B':2,'C':3} Traceback (most recent call last): File "<input>", line 1, in <module> TypeError: unhashable type: 'list' 一个键只能对应一个值 >>> d ={'A':1,'B':2,'C':3,'A':4} >>> d {'A': 4, 'C': 3, 'B': 2} 值是可变的,相同值可以出现在同一字典
操作字典
操作符:
查找操作符 d[k] 通过键'k',查询字典中某元素的值 >>> d ={'A':1,'B':2,'C':3} >>> d['A'] 1 d[k] = v 通过键'k',给字典中某元素赋值'v' ;若字典没有本键'k',则新增进来 >>> d ={'A':1,'B':2,'C':3} >>> d['A'] = 10 >>> d {'A': 10, 'C': 3, 'B': 2} >>> d ={'A':1,'B':2,'C':3} >>> d['D'] = 4 >>> d {'A': 1, 'C': 3, 'B': 2, 'D': 4} 成员操作符: in >>> 'A' in d True >>> 'a' in d False not in >>> 'a' not in d True
内置函数:
d.items() 功能:返回一个由字典d的键-值对组成的视图(view) 举例 >>> d ={'A':1,'B':2,'C':3} >>> d.items() [('A', 1), ('C', 3), ('B', 2)] d.keys() 功能 返回一个由字典d的键组成的视图 举例 >>> d.keys() ['A', 'C', 'B'] d.values() 功能 返回一个由字典d的值组成的视图 举例 >>> d.values() [1, 3, 2] d.get(key) 功能 返回与key相关联的值 举例 >>> d.get('A') 1 >>> d.get('B') 2 >>> d.get('a') 无报错返回空值 d.pop(key) 功能 删除键key并返回与之相关联的值 举例 >>> d ={'A':1,'B':2,'C':3} {'C': 3, 'B': 2} >>> d >>> d.pop('A') 1 d.popitem() 功能 删除某个键值对,返回字典d中的某个键-值对 举例 >>> d ={'A':1,'B':2,'C':3} >>> d.popitem() ('A', 1) >>> d {'C': 3, 'B': 2} >>> d.popitem() ('C', 3) >>> d {'B': 2} >>> d.popitem() ('B', 2) >>> d {} d.clear() 功能 删除字典d的所有元素 举例 >>> d ={'A':1,'B':2,'C':3} >>> d.clear() >>> d {} d.copy() 功能 (拷贝)复制字典d 举例 >>> d1 = {'A':1,'B':2,'C':3} >>> d2 = d1.copy() >>> d2 {'A': 1, 'C': 3, 'B': 2} d.update(e) 功能 (合并)将e中的键值对添加到字典d中 举例 >>> d1 = {'A':1,'B':2,'C':3} >>> d2 = {'D':4,'E':5,'F':6} >>> d1.update(d2) >>> d1 {'A': 1, 'C': 3, 'B': 2, 'E': 5, 'D': 4, 'F': 6} d.setdefault(key, v) 功能 如果键key包含在字典d中,则返回其值;否则,返回v并 将(key, v)添加到字典d中 举例 >>> d ={'A':1,'B':2,'C':3} >>> d.setdefault('D',4) 4 >>> d {'A': 1, 'C': 3, 'B': 2, 'D': 4} d.has_key(key) 功能 判断某个key是否在字典中,如果有返回True,没有返回False 举例 >>> d ={'A':1,'B':2,'C':3} >>> d.has_key('A') True >>> d.has_key('a') False
来源:oschina
链接:https://my.oschina.net/u/4442211/blog/3211371