您的位置:首页 > 编程语言 > Python开发

Python的学习(四)----特殊类型-字典

2012-10-15 21:59 316 查看
Python中的特殊类型-字典

映射(mapping)是指通过不可变对象来引用值的数据结构,字典是Python中唯一内建的映射类型,

其是由多个键(key)及与其对应的值构成的对组成,键是唯一的,但值不唯一,且存储没有特定的顺序,

字典中键的类型可以是数字、字符串或元组。

eg: 字典的创建 dic= {'Allen':'1111', 'Bob':'2222', 'Cici':'3333'}

字典的基本操作与序列(sequence)有些类似:

1)len(dic) 返回字典dic中项的数量(键/值对称为项)

2)dic[k] 返回字典中关联到键k上的值

3)dic[k]=value 将值value关联到键k上(键k不在字典中时,将自动添加)

4)del dic[k] 删除字典中键为k的项

5)k in dic 检查字典中是否含有键为k的项

字典的使用

1)格式化字符串

在每个转换说明符中的%字符后面,可以加上(用圆括号括起来的)键,其后在街上其他类型说明等元素,eg:

>>> dic= {'Allen':'1111', 'Bob':'2222', 'Cici':'3333'}

>>> "Allen's number is %(Allen)s." % dic

Allen's number is 1111.

2)clear

清楚字典中所有的项,无返回值

>>> x = {}

>>> y = x

>>> x['key']='value'

>>> y

{'key':'value'}

>>> x.clear()

>>>y

{}  # clear方法清空原始字典中的所有元素

3)copy

返回一个具有相同键-值对的新字典,copy实现的是浅复制,另有模块的deepcopy实现深复制,eg:

>>>from copy import deepcopy

>>>d={}

>>> d['names']=['ALLen']

>>> d1=d.copy()

>>> d2=deepcopy(d)

>>> d['names'].append('Bob')

>>> d1

{'names':['Allen',‘Bob']}

>>> d2

{'names':['Allen']}

4) get

能更宽松的返回字典项,一般,试图访问字典中不存在的项会报错,通过get()访问时,不会有异常,

一般得到None值,也可以自定义默认返回值,eg:

>>> d.get('age', 'N/A')

'N/A'

5)keys/values/items

keys将字典中的键以列表形式返回

values将字典中的值以列表形式返回

items将字典中所有的项以列表方式返回

6)update

利用一个字典项更新另一个字典

提供的字典中的项会被添加到旧的字典中,若有相同的键则会进行覆盖
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息