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中没有元素顺序的概念。
字典两大特点:无序,键唯一