什么是字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
示例:
>>> d ={"name":"beijing"} #花括号中 “name ”为key 即键 “beijing”为value 即值 中间用冒号分割。多个键值对用逗号分割,键必须唯一。键必须是不可变类型,值可以是任何数据类型
>>> d
{'name': 'beijing'}
>>> type(d)
<type 'dict'>
>>>
创建字典
方式1:mydict={}
方式2:mydict=dict(arg)
方式3:mydict={}.fromkeys(arg)
>>> d={} #创建了一个空的字典
>>> person ={"name":"zhangsan","age":""} #创建一个有内容的字典
>>> d["student"]="xiaoming" #向字典d中添加内容
>>> d
{'student': 'xiaoming'}
>>> id(d) #id函数获取对象的内存地址。
49510328L
>>> d["age"]=18 #向d字典中添加age
>>> d
{'age': 18, 'student': 'xiaoming'}
>>> id(d) #id函数获取对象的内存地址与上面的相同,由此可见添加内容并没有创建新的字典,说明字典是可以修改的,或者说字典是可变得
49510328L
>>> name=([1,"baidu"],[2,"weibo"]) #创建一个元组,元组中有两个列表,一个列表中有两个元素,这两个元素对应着即将创建的key和value
>>> name
([1, 'baidu'], [2, 'weibo'])
>>> web =dict(name) #使用dict函数创建字典
>>> web
{1: 'baidu', 2: 'weibo'}
>>> w =dict(name="tom",age=10) #使用dict函数创建字典
>>> w
{'age': 10, 'name': 'tom'}
>>> book ={}.fromkeys(("python","author"),"cc") #使用fromkeys创建字典,可以看出value值可以重复
>>> book
{'python': 'cc', 'author': 'cc'}
>>>
基本方法
len() 键值对的长度
d[key] 通过key获取value值
d[key]=value 修改或增加
del[key] 删除
key in d 判断key是否在字典d中
>>> city_codes
{'tianjin': '', 'beijing': '', 'shanghai': '', 'chongqing': ''}
>>> "beijing is the capital of China ,its area code is %(beijing)s" % city_codes
'beijing is the capital of China ,its area code is 010'
>>> len(city_codes) #
4
>>> city_codes["beijing"]
''
>>> city_codes["nanjing"]=""
>>> city_codes
{'tianjin': '', 'beijing': '', 'shanghai': '', 'nanjing': '', 'chongqing': ''}
>>> del city_codes["shanghai"]
>>> "shanghai" in city_codes
False
>>>
键值对:映射关系
>>> city_codes={"beijing":"","shanghai":"","tianjin":"","chongqing":""}
>>> city_codes["beijing"] #通过字典的key访问字典的值
''
>>> city_codes #字典是无序的
{'tianjin': '', 'beijing': '', 'shanghai': '', 'chongqing': ''}
>>> "beijing is the capital of China ,its area code is %(beijing)s" % city_codes #格式化字符串可以使用字典(注意)
'beijing is the capital of China ,its area code is 010'
>>>