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 >>>                                                                                                
posted @ 2018-03-13 23:57  冰雪柔情的天空  阅读(265)  评论(0编辑  收藏  举报