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

Python修行之Dict初识(一)

时间:2018-08-19 21:52:30      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:数字   结构   去重   upd   无法   键值对   def   range   clear   

字典全称(Dictionaries)
字典为非线性结构
类似Dict称为k-v对、全名为:key - value键值对的数据的集合
dict是可变的、无序的、key不重复(去重)
*key必须可以hash
*set可称为dict的简化版
dict是一个个kv对,其中k一定不相同,keys可以当set用、如果value可hash,那么items可以当set用

字典dict定义 初始化

 d = dict() 或者d = {}
 dict(**kwarge)使用name = value对构造字典,不过可迭代对象的元素必须是一个二元结构
 dict(iterable,**kwary)可用迭代对象和name = value对构造字典,不过可迭代对象的元素必须是一个二元结构
 d = dict(((1,‘a‘),(2,‘b‘)))或者 d = dict(([1,‘a‘],[2,‘b‘]))(二元组)
 dict(mapping,**kwarg)使用一个字典构建另一个字典*含有引用类型,注意结果
 d = {‘a’:10,‘b‘:20,‘c‘:None,‘d‘:[1,2,3]} #常用构建字典方式
 类方法dict.fromkeys(iterable,value)
                d = dict.fromkeys(range(5))
                d = dict.fromkeys(range(5),0)
 当iterable的key与kwary的值相同时,后面的value会覆盖前面的value

字典元素的访问

*d[key]
    返回key对应的value
    key不存在抛出KeyError异常
*get(key[,default])
    返回key对应的value
    key不存在时返回缺省值,如果没有设置缺省值就返回None
setdefault(key[,default]
    返回key对应的值value
    key不存在,添加kv对,value设置为default,并返回default,如果default没有设置,缺省为None

字典增加和修改

d[key] = value
     将key对应的值修改为value
     key不存在添加新的kv对
update([other]) - >None
    使用另一个字典的kv对更新本字典、
    key不存在,就添加
    key存在,覆盖已经存在的key对应的值
    就地修改
    *当key为数字,默认无法添加。需使用二元组方式,或字典方式添加

字典删除

pop(key[,defaulf])
        key存在,移除它,并返回它的value
        key不存在,返回给你的default
        default未设置,key不存在则抛出keyError异常
popitem()
        移除并返回一个任意的键值对
        字典empty,抛出KeyError异常
clear()
        清空字典
del语句
        删除非value本事,而是value的引用计数。当引用计数归零时,内存会自动回收。

Python修行之Dict初识(一)

标签:数字   结构   去重   upd   无法   键值对   def   range   clear   

原文地址:http://blog.51cto.com/13531464/2161642

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