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