美文网首页
Python之路6:字典

Python之路6:字典

作者: 缘小泽 | 来源:发表于2018-03-20 14:54 被阅读0次

    字典是一种 Key-value 的数据类型

    特性:

    key-value 结构
    key 必须可 hash ,且必须为不可变数据类型,必须唯一
    可存放任意多个值,可修改,可以不唯一
    无序
    查找速度快

    字典的用法:

    • 创建
    // 字典为大括号,key 和 value之间用冒号分开,不同 Key-value 之间用逗号分开
    >>> info = {'stu001':['zeinv',23],'stu002':['jack',33]}
    >>> info
    {'stu001': ['zeinv', 23], 'stu002': ['jack', 33]}
    
    • 增加
    // 直接在字典后中括号内写入 key值,后面等于号写于 value 值
    >>> info['stu003'] = ['abc',24]
    >>> info
    {'stu001': ['zeinv', 23], 'stu002': ['jack', 33], 'stu003': ['abc', 24]}
    
    • 修改
    >>> info['stu003'] = ['cde',32]
    >>> info
    {'stu001': ['zeinv', 23], 'stu002': ['jack', 33], 'stu003': ['cde', 32]}
    
    • 获取
    // 获取可以用 .get(key)获取value值,如果字典里没有也不会报错
    >>> info['stu001'] 
    ['zeinv', 23]
    >>> info.get('stu001')
    ['zeinv', 23]
    >>> info.get('stu005')
    >>> info['stu005']
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'stu005'
    
    • 删除
    >>> info.pop('stu001') // 删除掉的同时打印出value值
    ['zeinv', 23]
    >>> info.popitem()  // .popitem 随机删除字典内的数据
    (6, 2)
    >>> del info[3]  // del 删除并且不显示所删除的value
    >> info.cleaer()  // 清空整个字典
    
    • 其他方法
    >>> info.keys()   // 显示所有的 key 值
    dict_keys(['stu002', 'stu003', 4])
    >>> info.values()   // 显示字典内所有 value 值
    dict_values([['jack', 33], ['cde', 32], 2])
    >>> 
    >>> info.items()  // 将字典变成列表
    dict_items([('stu002', ['jack', 33]), ('stu003', ['cde', 32]), (4, 2)])
    
    >>> dic2 = {1:2,3:4,4:3,'stu002':['j',33]}
    >>> info.update(dic2)  // 将字典 dic2 整合到 info 里,如果有相同的 key 值时,dic2 中 value 将覆盖 info 里的值
    >>> info
    {'stu002': ['j', 33], 'stu003': ['cde', 32], 4: 3, 1: 2, 3: 4}
    
    >>> info.setdefault(4,'jb')  //
    3  
    >>> info.setdefault(6,'jb')
    'jb'
    >>> info
    {'stu002': ['j', 33], 'stu003': ['cde', 32], 4: 3, 1: 2, 3: 4, 6: 'jb'}
    

    相关文章

      网友评论

          本文标题:Python之路6:字典

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