65、字典的增删改操作

作者: BeautifulSoulpy | 来源:发表于2019-06-09 18:51 被阅读1次
    离开学术界,博士们还有许多好选择
    我觉得编程未来就像英语一样,会是一项基本技能,因此我更加重视这一块的学习。
    

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

    字典是Python中一个键值映射的数据结构;

    字典是非线性结构中最重要的一种;set 可以看成字典的特例:set都是key;

    1. 创建字典(可变的,无序的,key不重复的)
    # 创建字典 (两种方法)
    # 第一种方法
    dict1 = {'name':'linda','age':13}
    
    # 第二种方法
    dict2 = dict(['name','linda'],['age',13])
    
    d=dict(([1,'a'],[2,'b']))   # 列表形式
    e=dict(a=1,b=2,c=3,d='str')   # =对应关系;
    
    #第三种方法,将一个可迭代对象的值作为字典的每一个键,赋值为1
    dict3 = {}.fromkeys(('x','y','z'),1)
    
    
    总结:
    1. dict(iterable,**kwarg)必须是一个二元结构(键值对结构) ;
    d={'a':1,'b':2}
    
    d=dict(([1,'a'],[2,'b']))
    e=dict(a=1,b=2,c=3,d='str')  
    
    e=dict.fromkeys(range(5),100)   # 取值都是一样;
    e
    ----------------------------------------------
    {0: 100, 1: 100, 2: 100, 3: 100, 4: 100}
    
    
    
    2.访问字典
    key:可以hash就可以作为key;  数字、字符串都可以;
    # 返回一个键的列表
    dict1.keys()      |    ['name','age']
    
    # 返回一个值的列表
    dict1.values()     |   ['linda',13]
    
    # 返回一个包含(键,值)元组的列表
    dict1.items()     |    [('name','linda'),('age':13)]
    
    # 返回键name对应的值
    dict1['name']     |    'linda'
    
    # 得到键的值,若键不存在,则返回默认值
    dict1.get('name',None)     |    'linda'
    
    # 字典中没有sex,返回默认值man
    dict1.get('sex','man')     |    'man'
    dict.iter()  #方法 iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。
    
    3.修改字典
    # 修改键name的值
    dict1['name'] = 'lihua' 
    
    # 如果字典中 key 键存在,删除并返回 dict[key],如果 key 键不存在,且没有给出 default 的值,引发KeyError 异常
    dict1.pop(name,'unknown')    |    'linda' 
    
    # 删除键name这条记录
    dict1.remove('name') 
    
    #如果字典中不存在 key 键,由 dict[key]=default 为它赋值,若存在则不改变它的值
    dict1.setdefault('name',default='unknown')  
    
    # 将字典 dict2 的键-值对添加到字典 dict
    dict.update(dict2)  
    
    #删除字典中所有元素
    dict.clear()  
    
    #删除字典
    del dict1 
    

    相关文章

      网友评论

        本文标题:65、字典的增删改操作

        本文链接:https://www.haomeiwen.com/subject/jzknxctx.html