在Python中,字典(英文“Dictionary”)是一种可以存储任意数据类型的容器模型,以K/V格式存在,和java中map有很多相似的地方。每个key都是唯一的,value可以是任意数据类型,而且字典中的元素是无序的。字典格式为:{key:value,key:value}
字典特性
- 字典中的元素可以是任意数据类型
- 字典中的元素,键是唯一的
- 字典中的元素是无序的
字典内置函数
| 序号 | 函数名 | 说明 |
| 1 | dict.clear() | 删除字典内所有元素 |
| 2 | dict.copy() | 返回一个字典的浅复制 |
| 3 | dict.fromkeys(seq[, val]) | 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 |
| 4 | dict.get(key) | 返回指定键的值,如果字典中不存在,则返回None |
| 5 | dict.has_key(key) | 返回一个布尔值,判断key是否在当前字典中,存在返回True,不存在返回False。Python2.0版本中的函数,3.0不支持。 |
| 6 | dict.items() | 遍历字典中的元素(key,value),每一个元素即为一个元组 |
| 7 | dict.keys() | 返回字典中所有的键key |
| 8 | dict.values() | 返回字典中所有的值value |
| 9 | dict.update(dict2) | 更新操作,将ditc2字典中的元素(键和值),更新到dict中。 |
| 10 | dict.pop(key) | 删除字典dict中指定键为key的元素, |
| 11 | dict.popitem() | 随机删除字典中的一个元素,并返回删除元素 |
| 12 | len(dict) | 查询字典中元素个数 |
| 13 | cmp(dict1,dict2) | 比较两个字典中元素的内存地址是否一致 |
示例
创建字典并添加元素
>>> dict={} #创建一个字典
>>> dict["website"]="itzoo" #添加一个元素 key为website 值为itzoo
>>> dict["url"]="www.itzoo.net" #添加另一个元素key为url 值为www.itzoo.net
>>> dict
{'website': 'itzoo', 'url': 'www.itzoo.net'}
>>> dict["content"]=["bigdata","linux","java","python"] #给当前字典添加一个key为content value为一个列表的元素
>>> dict
{'website': 'itzoo', 'url': 'www.itzoo.net', 'content': ['bigdata', 'linux', 'java', 'python']}
>>> dict["content"]
['bigdata', 'linux', 'java', 'python']
>>> dict["content"][2] #获取键为content的值,是一个列表,通过索引获取列表中第三个元素
'java'
查看所有键和值(keys()和values()函数)
>>> dict.keys() #查询字典所有的键 ['website', 'url', 'content'] >>> dict.values() #查询字典所有的值 ['itzoo', 'www.itzoo.net', ['bigdata', 'linux', 'java', 'python']]
获取指定键的值(get()函数)
>>> dict.get("url") #查询key为url的元素值
'www.itzoo.net'
遍历字典元素(items()函数)
>>> dict.items() #遍历当前字典
[('website', 'itzoo'), ('url', 'www.itzoo.net'), ('content', ['bigdata', 'linux', 'java', 'python'])]
删除元素(pop(key)和popitem())
>>> dict.pop("url") #删除key为url的元素 删除之后返回值为当前元素
'www.itzoo.net'
>>> dict
{'website': 'itzoo', 'content': ['bigdata', 'linux', 'java', 'python']}
>>> dict.popitem() #随机删除一个元素 并返回删除的元素
('website', 'itzoo')
>>> dict
{'content': ['bigdata', 'linux', 'java', 'python']}
更新(update(dict)函数)
>>> dict #当前字典中的元素
{'content': ['bigdata', 'linux', 'java', 'python']}
>>> dict2={"type":"分享","website":"openask"} #定义另一个字典,里面有2个元素
>>> dict.update(dict2) #更新操作
>>> dict
{'website': 'openask', 'content': ['bigdata', 'linux', 'java', 'python'], 'type': '\xe5\x88\x86\xe4\xba\xab'}

