为了账号安全,请及时绑定邮箱和手机立即绑定

python入门:字典

标签:
Python

创建和使用字典

1phone = {'Andy':'150','Bob':'137','john':'138'}

字典由键及其相应的值组成,这种键值对称为项,在示例中,键为名字而值为电话号码。每个键与值之间用冒号隔开,整个字典放在花括号内。空字典用两个花括号表示{}。

函数dict

可使用dict从其他映射或键值对序列创建字典。


item = [('name',"Andy"),('age',12)]= dict(item)d{'name''Andy''age'12}

还可使用实参来调用函数


= dict(name='Andy',age=12)d{'name''Andy''age'12}# 删除字典元素del d['name']d{'age'12}# len返回字典包含的键值对数len(d)1# 修改值d['age']=20d{'age'20}

字典方法

clear删除所有字典项


d{'age'20'name''andy'}d.clear()d{}>>>

copy返回一个新字典,把汗的键值对与原来的字典相同,当替换副本中的值时,原件不受影响,如果修改原件指向的值将被修改


={'username':'admin','machines':['foo','bar','cc']}y=x.copy()y['username']='root'y{'username''root''machines': ['foo''bar''cc']}x{'username''admin''machines': ['foo''bar''cc']}

deepcopy同时复制值及其包含的所有值


from copy import deepcopya={}a['name']=['admin','root']b=a.copy()ab=deepcopy(a)d['name'].append('tiger')a['name'].append('tiger')b{'name': ['admin''root''tiger']}a{'name': ['admin''root''tiger']}ab{'name': ['admin''root']}

get访问字典项


={}print(d.get('name'))None字典d中没有键值所以在使用get访问时返回None,也可指定默认值d.get('name','NO')'NO'

items返回一个包含所有字典项的列表,但字典中的顺序不确定


d={'title':'python web Site','url':'http://www.python.org','spam':0}d.items()dict_items([('title''python web Site'), ('url''http://www.python.org'), ('spam'0)]) it = d.items()len(it)3('spam',0in itTrue('name','admin'in itFalse

keys返回一个字典视图,包含指定字典中的键

12d.keys()dict_keys(['title''url''spam'])

pop获取与指定键相关联的值,并将该键值对从字典中删除


d.pop('title')'python web Site'd{'url''http://www.python.org''spam'0}

popitem随机弹出一个字典项,因为字典项顺序是不确定的,如果不要求删除字典项使用popitem


d.popitem()('spam'0)d{'url''http://www.python.org'}

setdefault获取与指定键相关联的值,setdefault还在字典不包含指定的键时,在字典中添加指定的键值对


d.setdefault('name','N')'N'd{'name''N'}d['name']='admin'd{'name''admin'}

update更新另一个字典


d{'name''admin'}={'name':'root','age':20,'py':3.6}d.update(a)d{'name''root''age'20'py'3.6}a{'name''root''age'20'py'3.6}

values返回由字典中的值组成的字典视图,方法values返回的视图可能包含重复的值


num= {}num[1]=1num[2]=2num[3]=2num.values()dict_values([122])


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消