python学习笔记6(字典)

来源:互联网 发布:黑马java视频解压密码 编辑:程序博客网 时间:2024/05/22 06:05
映射:键值对的关系,键(key)映射值(value)

字典是Python唯一的映射类型

>>> phonebook = {'wakey':'1111','Ethon':'2222','joho':'3333'}>>> phonebook{'joho': '3333', 'wakey': '1111', 'Ethon': '2222'}

扩展:映射类型与序列类型的区别

1、访问方式不同,序列类型用数字类型的键,而映射类型可以用其他对象类型做键(一般式字符串)

>>> lis = ['a','b','c']>>> lis[2]'c'>>> dic = {'name':'a','father':'b','mother':'c'}>>> dic['mother']'c'

2、存储类型不同,映射类型的键,直接或间接地与值相关。

3、序列类型,有序之列,可以通过下标引用元素映射类型则无序之列,不能通过下标引用元素

 

字典:

1、dict 函数

>>> items = [('name','gumby'),('age',42)]  # 通过其它映射或键值对建立字典>>> d = dict(items)>>> d{'age': 42, 'name': 'gumby'}>>> >>> d = dict(name='Ethon',age=42)    # 通过关键字参数建立字典>>> d{'age': 42, 'name': 'Ethon'}

2、字典特点:

1)键可以是任何不可变类型(字典最强大的地方)

2)字典中的键可能自动添加

>>> x = {}     # 空字典>>> x[2]='Ethon'>>> x{2: 'Ethon'}

3、字典方法

dict.clear()   删除字典中所有元素

>>> x = {'name':'wakey','age':22}>>> x.clear()>>> x{}

dict.copy()   返回一个具有相同键值对的新字典

>>> x = {'name':'wakey','age':22}>>> y = x.copy()>>> y['name']='Ethon'>>> y{'age': 22, 'name': 'Ethon'}>>> x{'age': 22, 'name': 'wakey'}

dict.formkeys()   用给定的键创建新的字典

>>> {}.fromkeys(['name','age']){'age': None, 'name': None}    # None 作为默认值

dict.get(key,default=None)   返回对应键值

>>> d = {}>>> print d.get('name')     None        # get访问一个不存在的键时,可以得到None值

dict.has_key()   检查键是否存在

>>> d = {}>>> d.has_key('name')False>>> d['name']='Ethon'>>> d.has_key('name')True

dict.items()   将所有的字典项以列表的方式返回,项在返回时没有特定的顺序。

>>> d = {'title':'python web site','url':'http://www.python.com'}>>> d.items()[('url', 'http://www.python.com'), ('title', 'python web site')]

dict.keys()   键的列表dict.values():值的列表

dict.pop()    获得对应于给定键的值,然后将这个键-值对从字典中移除

>>> d = {'x':1,'y':2}>>> d.pop('x')1>>> d{'y': 2}

dict.popitem()   弹出列表最后的一个元素(随机弹出),若想一个一个的移除并处理项,这个方法很有用了。

>>> d = {'title':'python','url':'www.python,com'}>>> d.popitem()('url', 'www.python,com')>>> d{'title': 'python'}

dict.update()   利用一个字典项更新另外一个字典

>>> d = {'title':'python','url':'www.python,com'}>>> x = {'title':'python language website'}>>> d.update(x)>>> d{'url': 'www.python,com', 'title': 'python language website'}

 

0 0
原创粉丝点击