码迷,mamicode.com
首页 > 编程语言 > 详细

Python 自动化运维1-字典

时间:2017-10-27 17:54:46      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:python

字典工厂函数:

x = {‘a‘:100,‘b‘:200,‘c‘:300}


字典索引: #显示没有顺序,不像列表和函数


print x[‘a‘]

100


字典方法:


删除:

x.pop(‘a‘) #需给出索引参数

print x


x.popitem() #不需要索引参数,随机删除


删除所有元素:


x.clear()


print x

输出:{}



items 和 iteritems输出字典中键-值


x.items() x.iteritems()


keys 和 iterkeys 输出字典中键


x.keys() x.iterkeys()


values 和 itervalues输出字典中值


x.values() x.itervalues()


get 获取字典中键-值(比较温和输出)


x.get(‘a‘)

输出:100

x.get(‘d‘) 

没有输出


has_key 确认字典中是否有该键


x.has_key(‘a‘)

输出:True

x.has_key(‘d‘)

输出:False


fromkeys 给定的键建立新的字典


a = dict.fromkeys([‘name‘,‘age‘],(100))


setdefault 访问字典中键-值,如果没有增加该键,值默认为None


x.setdefault(‘e‘,100)


update更新列表,将某个列表中键-值加入到另一个列表键-值,重复去掉


x = {‘a‘:100,‘b‘:200,‘c‘:300}


z = {‘d‘:500,‘e‘:6000}


x.update(z)


print x

输出:{‘a‘: 100, ‘c‘: 400, ‘b‘: 200, ‘e‘: 6000, ‘d‘: 500}



字典浅拷贝: 如果键-一个值,不会改变原字典的值,如果键-多值(列表),此时会存在同时改变


z = x.copy()


print z

输出:{‘a‘:100,‘b‘:200,‘c‘:300}


z[‘c‘] = 400


print z

输出:{‘a‘: 100, ‘c‘: 400, ‘b‘: 200}


print x

输出:{‘a‘: 100, ‘c‘: 300, ‘b‘: 200}


x = {‘a‘: 100, ‘c‘: 300, ‘b‘: [600, 200]}


y = x.copy()


print y

输出:{‘a‘: 100, ‘c‘: 300, ‘b‘: [600, 200]}


y[‘b‘][0] = 300


print y 

输出:{‘a‘: 100, ‘c‘: 300, ‘b‘: [300, 200]}


print x

输出:{‘a‘: 100, ‘c‘: 300, ‘b‘: [300, 200]}

这个时候需要用到深拷贝


from copy import deepcopy


y = x.deepcopy()


Python 自动化运维1-字典

标签:python

原文地址:http://1839wo.blog.51cto.com/378615/1976852

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!