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
利用一个字典项更新另一个字典
提供的字典中的项会被添加到旧的字典中,若有相同的键则会进行覆盖
映射(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
利用一个字典项更新另一个字典
提供的字典中的项会被添加到旧的字典中,若有相同的键则会进行覆盖
相关文章推荐
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
- python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典
- python学习笔记4-核心类型-字典
- python 学习笔记(3)数据类型2 (元组(tuple),集合,字典)
- 深入学习Python内置数据类型之——字典(Dictionary)
- Python中字典映射类型的学习教程
- Python学习笔记2:字典类型
- Python变量类型(l整型,长整形,浮点型,复数,列表,元组,字典)学习
- Python学习(六) Python数据类型:字典(重要)
- 小Y的Python学习日志--数据类型(列表,字典)
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
- Python 学习 (一) python的基本数据类型 元组 列表 字典
- Python学习笔记之映射类型字典(dict)
- Python变量类型(l整型,长整形,浮点型,复数,列表,元组,字典)学习
- 深入学习Python内置数据类型之——字典(Dictionary)
- Python中字典映射类型的学习教程
- python 学习 类型
- python学习--数据类型
- 用python操作mysql数据库(之数据查询结果返回字典类型)
- python2.7学习笔记(2) ——数据类型和变量