您的位置:首页 > 编程语言 > Python开发

Python数据类型-字典

2016-01-18 15:07 656 查看

Python数据类型 - 字典

数字类型   

元组  字符串  不可修改元素内容  

 列表  可修改元素内容, 列表数据可嵌套使用,也即列表内元素 也可使列表, 列表的局限性:键值对应关系无法存储,如果要实现,则需要两个列表来实现
例如 :‘
>>>name,ege,gender='milo',30,male'
>>name
>>>'milo'

字典   {}  

 —字典是Python中唯一的映射关系(哈希表)
----字典对象是可变的,但是字典的键值必须是不可变的,并且一个字典可使使用不呕吐那个数据类型的键值。

----- dic[X]   取键值为X 的值
-----items() 返回包含键值对的元组

---- 字典哈希表  无需的 ,  字典元素是可变的,字典的键是不可变对象

定义
>>>dic={a:'sss', "name":"CSDN", "ege":23}

字典的创建

  ..... {}  常见使用

  ......使用工厂方法创建 dict()  效率较低
     例如  fidc=dict(['x',1],['y',2])

  ......内建方法:fromkeys(), 字典的元素具有相同的值,默认为None    创建元素相同的字典
 ........   例如: dic = {}.fromkeys(('x','y'),-1)

访问字典的方式

 ...... 访问字典的值:
   .........直接使用Key访问:Key不存在,会报错, 可使用 had_key()或者in 和 not in 判断,  在3.4.3版本中, had_key() 已废弃
   ------循环访问
             for key in dic.keys()
  ------使用迭代器
            for  in  dic

更新与删除

 --- 直接使用键值访问更新:内建的update()方法可以将整个字典的内容拷贝到另一个字典中,

----- del dic1['a']  删除字典中键值为’a'的元素

     ..... dct1.pop('a')  删除并返回键值为'a'的元素 的值 
    -----dict1.clear() 删除字典内所有的元素
    ----- del dict1 删除整个字典

----字典相关的内建函数
   -- type()  str()  cmp()  (cmp很少用于字典的比较,比较依次是字典的大小,键,值)
--- 工厂函数dict():
      例如: dict(zip(“x",'Y'),(1,2))  或者 dict(x=1,y=2)

  {'x':1,'y':2}

  使用字典生成字典与用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):判断字典中是否包含了某个键, 后期该方法废弃,  采用in , not in的方法
 ------dict.items():返回键值对元组的列表
 ------dict.keys() 返回字典中键的列表
 ------dict.pop(key, default) 同 get()  如果存在则删除并返回dict[key] ; 如果不存在,则返回 defaut未指向值(即 当不存在key是,defalut = "12', 则返回 ”12‘) ,并抛出异常
 -------dict.setdefault(key, default = None), key:存在  则返回 其 value , key不存在, 则dict[key]=default
 -----dict.update(dict2),将dict2中的键值对添加到dict中,如果有重复覆盖,原字典不存在的条目添加进去
 ------dict.values() 返回字典中所有值的列表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python