Python入门4_之字典的使用

本文介绍了Python中字典的基本概念及使用方法,包括字典的创建、基本操作、格式化字符串和一些常用的方法如clear()、copy()、deepcopy()等,并通过示例详细解释每个功能。

说到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}

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

转载于:https://www.cnblogs.com/qukingblog/p/7475307.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值