python字典是另一种可变容器,可存储任意类型对象,如字符串、数字和元组等容器模型
一、创建字典:
字典由key和value成对组成。字典也被称作关联数组或哈希表。key可以是多种类型,但key是唯一的不重复的,value可以不唯一。基本语法:d = {key1:value1,key2:value2} 字典中也可以嵌套字典: d = {key1:{'name':'value','age':'value'},key2:values}
字典是无序的,所以不能通过索引来获取值,要通过key来找到关联值,对于不存在的key,会出现KeyError
字典操作方法:
len(d)返回字典d里面的键值对数目
x in d 查询字典d中是否有键x
d[x] = y 若键x存在,则修改x对应的值为y,若键x不存在,则在字典d中增加键值对x:y
del d[x] 删除字典d中键为x的键值对,若x不存在会出现KeyError 另外,d.pop(x)返回给定键x对应的值,并将该键值对从字典中删除;d.popitem()返回并删除字典中随机的键值对。
用d.clear() 对字典d进行清空
d.copy()对字典d进行浅复制,返回一个和d有相同键值对的新字典
d.get(x,y)返回字典d中键x对应的值,键x不存在的时候返回y,y的默认值为None
d.items()将字典中所有键值对以dict_items的形式返回(字典庞大的时候慎用,会降低效率)
d.keys()将字典d中所有的键以dict_keys形式返回 d.values()返回值
d.update(x) 将字典x所有键值对添加到字典d中(不重复,重复的键值对用字典x中的键值对替代到字典d中)
Dictionary中的常用方法:
len(a) | 得到字典a中元素的个数 |
a[k] | 取得字典a中键K所对应的值 |
a[k] = v | 设定字典a中键k所对应的值成为v |
del a[k] | 使用 key从一个 dictionary中删除独立的元素。如,删除Dictionary dic中的user=’root’:del dic[“user”] |
a.clear() | 从一个 dictionary中清除所有元素。如,删除Dictionary dic中的所有元素:dic.clear() |
a.copy() | 得到字典副本 |
k in a | 字典中存在键k则为返回True,没有则返回False |
k not in a | 字典中不存在键k则为返回true,反之返回False |
a.has_key(k) | 判断字典a中是否含有键k。python2中独有 |
a.items() | 得到字典a中的键—值对list |
a.keys() | 得到字典a中键的list |
a.update([b]) | 从b字典中更新a字典,如果键相同则更新,a中不存在则追加. |
a.fromkeys(seq[, value]) | 创建一个新的字典,其中的键来自sql,值来自value |
a.values() | 得到字典a中值的list |
a.get(k[, x]) | 从字典a中取出键为k的值,如果没有,则返回x |
a.setdefault(k[, x]) | 将键为k的值设为默认值x。如果字典a中存在k,则返回k的值,如果不存在,向字典中添加k-x键值对,并返回值x |
a.pop(k[, x]) | 取出字典a中键k的值,并将其从字典a中删除,如果字典a中没有键k,则返回值x |
a.popitem() | 取出字典a中键值对,并将其从字典a中删除 |
a.iteritems() | 返回字典a所有键-值对的迭代器。python2中独有 |
a.iterkeys() | 返回字典a所有键的迭代器。python2中独有 |
a.itervalues() | 返回字典a所有值的迭代器。python2中独有 |
Dictionary中的key值是大小写敏感的。并且在同一个dictionary中不能有重复的key值。并且,Dictionary中没有元素顺序的概念。
字典两大特点:无序,键唯一