Python 自动化运维1-字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 自动化运维1-字典相关的知识,希望对你有一定的参考价值。

字典工厂函数:

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自动化运维作业

python 运维自动化之路 Day2

Python 自动化运维1-拷贝

Python 自动化运维4-列表

Python自动化运维

运维自动化之ANSIBLE