python数据类型--字典

来源:互联网 发布:win7 传奇3 数据库 编辑:程序博客网 时间:2024/05/16 07:31
python数据类型--字典{}
  字典是python中惟一的映射类型(哈希表)
  字典对象时可变的,但是字典的键必须使用不可变对象,并且一个字典中可以使用不同类型的键值

  keys()或者values()返回键列表或者列表
  items()返回包含键值对的元组
  
  创建字典:
  -{}
     dic={'name':'lvsiyi','age':22,'gender':'female'}
     取值:dic['name'],dic['age'],dic['gender']
  -使用工厂方法dict()
     fdict=dict(['x',1],['y',2])
  -内建方法:fromkeys(),字典中的元素具有相同的值,默认为None
     ddict={}.fromkeys(('x','y'),-1)//x,y的值都为-1
  增加:
  dic={'name':'lvsiyi','age':22,'gender':'female'}
  dic['tel']='12345678'
  修改:
  dic['tel']='123'//直接就改了
  这样之后就在dic字典中增加了tel项
  直接用键值访问更新;内建的update()方法可以将整个字典的内容拷贝到另一个字典中
  del dict1['a']删除字典中键值为'a'的元素
     dic.pop('a')删除并且返回键为'a'的元素
     dic.clear()删除字典所有元素     //变成了空字典,但是字典还在
     del dic删除整个字典


  字典相关的内建函数
  type(),str(),cmp()(cmp很少用于字典的比较,比较依次是字典的大小,键,值)
  工厂函数dict():
    如:dict(zip('x','y'),(1,2))或者dict(x=1,y=2)
        {'y':2,'x':1}
        使用字典生成字典比用copy慢,因此这种情况下推荐使用copy()
字典中的方法:
 len(),hash()(用于判断某个对象是否可以做一个字典的键,非哈希类型报TypeError错误)
 dict.clear()删除字典中的所有元素
 dict.fromkeys(seq,val=None)以seq中的元素为键创建并返回一个字典,val为制定的默认值
 dict.get(key,default=None)返回key的value,如果该键不存在返回default指定的值
 dict.has_key(key)判断字典中是否存在key,建议使用in和not in代替
 dict.items()返回键值对元组的列表
 dict.keys()返回字典中键的列表
 dict.iter*():iteritems(),iterkeys(),itervalues()返回迭代值而不是列表
 dict.pop(key[,default])同get(),区别是若key存在,删除并返回dict[key],若不存在且
   default未指定值,抛出KeyError异常
 dict.setdefault(key,default=None)同set(),若key存在则返回其value,若key不存在,
   则dict[key]=default
 dict.update(dict2)将dict2中的键值对添加到字典dict中,如果有重复覆盖,原字典不存在的
   条目添加进
 dict.values()返回字典中所有值的列表
0 0
原创粉丝点击