在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'}