Python入门4_之字典的使用

来源:互联网 发布:mk淘宝代购的是真是假 编辑:程序博客网 时间:2024/06/06 06:43

说到python的字典,我第一个想到的是与之类似的JSON,也同样是键值对。
前面第一讲有那么一个隐患的问题,我们说八进制数都是以0开头的,但是有的时候,我们要表示以0开头的十进制数,怎么办?最常见的办法是直接把它表示成字符串,就解决了这个问题。
前面我们还讲到了[ ],( ),一个表示序列,一个表示元组,今天引入一个新的符号{ },表示字典,字典是由多个键以及它所对应的值组成的键值对,类似于这样:

>>> {'name':'kate','age':20,'country':'England'}#注意字典中的键是唯一确定的

1,创建和使用字典:
这里要说的一个重要的函数:dict()

#可以通过映射对建立字典>>> items = [('name','kate'),('age',19)]>>> d = dict(items)>>> d{'name':'kate','age':19}>>> d['name']'kate'#还可以直接赋值来创建字典>>> d = dict(name = 'kate',age = 19)>>> d{'name':'kate','age':19}

2,基本的字典操作:

>>> items = [('name','kate'),('age',19)]>>> len(items)  #返回字典的长度>>> del items['name']>>> 'age' in items  #返回布尔值,判断键是否在字典中,注意不是值,是键

3, 字典的格式化字符串:

>>> object = {'name':'kate','age':19}>>> print 'her age is %(age)s, and her name is %(name)s' %object   #%+键+s(通常字符串+s,整数+d,浮点数+f),后面接字典的名称'her age is 19,her name is kate'

4,关于字典的一些方法:

# clear()用来清空字典的,具体用法请看下面例子:>>> x = {}>>> x['name'] = 'kate'>>> y = x>>> y{'name':'kate'}>>> x.clear()>>> y{} #这里要说明的是clear方法会影响给赋值的元素,如果不用clear方法,比如直接x = {},就不会影响到y

copy( )&&deepcopy( )

#copy()方法,浅复制,当你替换某个值时,另一个字典不受影响,删除或者增加某个值时,就开始影响了>>> x = {'name':'kate','place':[123,234]}>>> y = x.copy()>>> y['name'] = 'kathy'>>> x{'name':'kate','place':[123,234]}>>> y['place'].append('456')>>> x{'name':'kate','place':[123,234,456]}#deepcopy(),深层复制,不会影响原始字典>>> from copy import deepcopy>>> x = {'name':'kate','place':[123,234]}>>> y = x.deepcopy()>>> y['place'].append('456') >>> x{'name':'kate','place':[123,234]}  #并没有影响到x

fromkeys( ),建立新的字典,构造空字典

>>> dict.fromkeys(['name','age']){'age',None,'name':None}

get( )访问字典项:

>>> d = {'name':'king'}>>> d.get('name')'king'>>> d.get('age')None

pop( ) 移除键值,popitem( )弹出随机项,都是返回弹出的值

>>> d = {'name':'king'}>>> d.pop('name')>>> d{}>>> dota = {'name':'king','age':19}>>> dota.popitem(){'age':19}#update()修改字典>>> dota = {'name':'king','age':19}>>> x = {'name':'kate'}>>> dota.update(x)>>> dota{'name':'kate','age':19}>>>for key,value in dota.items():  #迭代遍历字典>>>    print key,valuename kingage 19h = {'a':2,'b':-4,'c':5}p = {i:pow(j,2) for i,j in h.items()}print p{'a': 4, 'c': 25, 'b': 16}

本章到此结束,请继续学习下一章 Python入门5_条件循环语句

原创粉丝点击