兰冰点点

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

测试环境:python 2.7

注:学习笔记

 

字典定义:

1、字典,顾名思义,可以通过索引查找想要的内容(想想我们用过的新华字典)

2、与序列不同,它没有索引,不能通过索引取值,它是一种新的数据结构,我们称之为映射

3、字典中的项为键值对,成员没有特殊的顺序

4、字典的键是唯一的,可以是数字、元组、字符串这几种不可变类型之一(注:值不是唯一的)

 

字典的创建:

空字典:{}

1、通过键值对创建

s1 = dict(name='may')  #也支持一次传入多组键值对

2、两组对应的list怎么创建字典

m1 = ['name','age']

m2 = ['may',18]

s2 = dict(zip(m1,m2))

 

字典的基本操作

测试字典:s3 = {'name':'may','age':18}

1、取指定键对应的值

s3['name']

2、取项数

len(s3)

3、关联一组键值对

s3['sex'] = 'female'

print s3

打印结果

{'age': 18, 'name': 'may', 'sex': 'female'}

4、删除指定key的项

del s3['name']

5、检查字典中是否含有指定key的项

'name' in s3  #返回值逻辑型

同类方法:s3.has_key('name')  #python 3.0以上取消了该方法

注:返回值False/True

 

字典常用方法

1、清空字典

s1.clear()

s1 = {}

clear与赋值置空的区别在于前置是把申请的内存处清空,可以清空所有对该地址的引用

 

2、复制字典

s2 = s1.copy()

注:仅仅是值复制

 

3、使用key的list,初始化一个字典

key = ['name','age','sex','love']

s1 = {}.fromkeys(key)

 

4、get访问

s1.get('name')

s1['name']

注:存在key时,返回结果一致,不存在key时,get方法返回None,key访问会抛出错误

注2:当不存在key时,可以自定义返回值

s1.get('name','test')  #不存在key时直接返回test

 

注3:类似方法 s1.setdefault('name','test')

返回key:name的值,当key不存在时,插入这个项,返回这个项的值

 

 

5、把字典处理成列表的相关方法

items和iteritems方法

注:列表的形式返回字典项

 s3.items()

s3.iteritems()

 

keys和iterkeys()方法

注;列表的形式返回字典的key

s3.keys()

s3.iterkeys()

 

values()和itervalues()方法

注:列表的形式返回字典的值

s3.values()

s3.itervalues()

 

 

 

6、pop方法

删除字典中指定key的项,返回key对应的值

s1.pop('name')

 

7、popitem方法

随机删除字典的一个项,返回该项组成的字典

s1.popitem()

 

posted on 2017-08-09 15:22  兰冰点点  阅读(153)  评论(0编辑  收藏  举报