首页 > 编程语言 > 详细

python 数据结构 - 字典

时间:2017-03-22 18:07:27      阅读:291      评论:0      收藏:0      [点我收藏+]

python的字典是一种可变容器模型,且可存储任意类型对象。字典是无序的,没有索引。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

1 >>> d = {k1:v1,k2:v2,}
2 >>> d
3 {k2: v2, k1: v1}
4 >>> 

在字典里面,键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

1 >>> d = {k1:v1,k2:v2,2:5,}
2 >>> d[2]
3 5
4 >>> 

创建字典:

  创建空字典:

1 >>> d = dict()
2 >>> d
3 {}
4 >>> d1 = {}
5 >>> d1
6 {}
7 >>> 

  创建非空字典:

1 >>> d = {name:admin,gender:man,job:python,}
2 >>> d
3 {job: python, gender: man, name: admin}
4 >>> 

  注意:在创建字典时,键名一定是不可变的(如数字,字符串等),并且若同一个键名被创建n(n>1)次,则该键前面所有的值都会被后一个值覆盖,到最后只留下最后一次赋予的值。

1 >>> d = {name:admin,job:python,name:root,}
2 >>> d[name]
3 root
4 >>> d
5 {job: python, name: root}
6 >>> 

 

访问字典里面的值:

1 >>> d = {name:admin,gender:man,job:python,}
2 >>> d[name]
3 admin
4 >>> d[job]
5 python
6 >>> 

 

字典更新:

  若键存在,则更新对应的值,若不存在,直接添加键值对

1 >>> d = {job: python, gender: man, name: admin}
2 >>> d[name] = root
3 >>> d
4 {job: python, gender: man, name: root}
5 >>> d[age] = 22
6 >>> d
7 {job: python, gender: man, name: root, age: 22}
8 >>> 

 

删除字典:

  删除单个元素:

1 >>> d = {job: python, gender: man, name: root}
2 >>> del d[gender]
3 >>> d
4 {job: python, name: root}
5 >>> 

  删除整个字典:

>>> d1 = {job: python, name: root}
>>> del d1
>>> d1
Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    d
NameError: name d1 is not defined

  清空字典所有元素:

1 >>> d = {job: python, gender: man, name: root}
2 >>> d.clear()
3 >>> d
4 {}
5 >>> 

字典的内置函数和方法:

  内置函数:

1 len(dic)
2 ‘‘‘返回字典键的个数‘‘‘
3 str(dic)
4 ‘‘‘输出字典,以可打印的字符串表示‘‘‘
5 type(dic)
6 ‘‘‘返回输入对象的类型,字典就返回字典类型‘‘‘

   字典的方法:

 1 ‘‘‘字典内置方法‘‘‘
 2 
 3 get()
 4 ‘‘‘传入键名或键名和默认值,返回指定键的关联值,若指定键不存在,则返回默认值。eg:d.get(‘x‘,99)‘‘‘
 5 keys()
 6 ‘‘‘以迭代器的形式返回字典中的所有键,所得的列表中的每个条目肯定唯一‘‘‘
 7 values()
 8 ‘‘‘以迭代器形式返回字典里面的所有的值,所得列表中的每个条目不一定唯一‘‘‘
 9 items()
10 ‘‘‘返回(key,value)列表‘‘‘
11 update()
12 ‘‘‘用另一个字典的内容对当前字典进行更新‘‘‘
13 pop()
14 ‘‘‘pop(k [, d]) 这个可以不传递值,默认删除并返回最后一个键值对的值,传入一个k,则返回k的值。若键名k不存在,且没有设置默认值d,就会报错,若设置了d就返回d‘‘‘
15 popitem()
16 ‘‘‘删除,并且返回一个键值对(key,value)形式。如果字典已经为空,却调用了此方法,就报出KeyError异常。‘‘‘
17 copy()
18 ‘‘‘返回一个字典的浅赋值‘‘‘
19 dict.fromkeys(seq[, val])
20 ‘‘‘创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值‘‘‘
21 setdefault(key, default=None)
22 ‘‘‘和get()类似, 但如果键不存在于字典中,将会添加键到原字典并将值设为default,同时返回default‘‘‘

 

python 数据结构 - 字典

原文:http://www.cnblogs.com/xtsec/p/6599145.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!