设为首页 收藏本站
查看: 1130|回复: 0

[经验分享] python入门:字典

[复制链接]

尚未签到

发表于 2018-8-6 10:04:00 | 显示全部楼层 |阅读模式
  创建和使用字典
phone = {'Andy':'150','Bob':'137','john':'138'}  字典由键及其相应的值组成,这种键值对称为项,在示例中,键为名字而值为电话号码。每个键与值之间用冒号隔开,整个字典放在花括号内。空字典用两个花括号表示{}。
  函数dict
  可使用dict从其他映射或键值对序列创建字典。
item = [('name',"Andy"),('age',12)]  
d = dict(item)
  
d
  
{'name': 'Andy', 'age': 12}
  还可使用实参来调用函数
d = dict(name='Andy',age=12)  
d
  
{'name': 'Andy', 'age': 12}
  
# 删除字典元素
  
del d['name']
  
d
  
{'age': 12}
  
# len返回字典包含的键值对数
  
len(d)
  
1
  
# 修改值
  
d['age']=20
  
d
  
{'age': 20}
  字典方法
  clear删除所有字典项
d  
{'age': 20, 'name': 'andy'}
  
d.clear()
  
d
  
{}
  
>>>
  copy返回一个新字典,把汗的键值对与原来的字典相同,当替换副本中的值时,原件不受影响,如果修改原件指向的值将被修改
x ={'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 deepcopy  
a={}
  
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访问字典项
d ={}  
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',0) in it
  
True
  
('name','admin') in it
  
False
  keys返回一个字典视图,包含指定字典中的键
d.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'}
  
a ={'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]=1
  
num[2]=2
  
num[3]=2
  
num.values()
  
dict_values([1, 2, 2])

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-547429-1-1.html 上篇帖子: python初学(1) 下篇帖子: python2.7.8安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表