zgdy 发表于 2018-8-13 10:31:10

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': }
  y = x.copy()
  print y
  输出:{'a': 100, 'c': 300, 'b': }
  y['b'] = 300
  print y
  输出:{'a': 100, 'c': 300, 'b': }
  print x
  输出:{'a': 100, 'c': 300, 'b': }
  这个时候需要用到深拷贝
  from copy import deepcopy
  y = x.deepcopy()
页: [1]
查看完整版本: Python 自动化运维1-字典