字典

数据类型的分类

  • 可变数据类型(不可哈希):list dict set
  • 不可变数据类型(可哈希):str bool int tuple

字典(dict)

定义:{}括起,以键值对形式存储的容器型数据类型,其中,键值必须是唯一且不可变的数据类型,值可以为任意数据类型或对象。

dic={1:"xx",
     "可行性":"你不行",
     "ss":[1,2,3,4,5,6,7]}
  • 字典的创建方式

    方式一:元组拆包创建字典

    dic=dict((("one",1),("two",2),("three",3)))
    

    方式二:赋值创建

    dic=dict(one=1,two=2,three=3,xxx=4)
    

    方式三:{}

    dic={'one':1,'two':2,'three':3}   #或者
    dic=dict({'one':1,'two':2,'three':3})
    
  • 字典的增删改查

      1. 直接增加

        >>> dic={'name':1,'age':2}
        >>> dic['hobby']=3
        >>> dic
        {'name': 1, 'age': 2, 'hobby': 3}
        #不要忘记键值是唯一且确定的
        
        >>> dic={'name':1,'age':2}
        >>> dic['age']=3
        >>> dic
        {'name': 1, 'age': 3}
        
      2. setdefault( key [ , value ] )

        #value没有给出
        >>> dic={'name':1,'age':2}
        >>> dic.setdefault("hobby")
        >>> dic
        {'name': 1, 'age': 2, 'hobby': None}
        
        #value给出
        >>> dic={'name':1,'age':2}
        >>> dic.setdefault("hobby",3)
        3
        >>> dic
        {'name': 1, 'age': 2, 'hobby': 3}
        
        #和第一个一样,有则改变,无则添加
        
    1. dic.pop ( key [, return value])

      按照键值对进行删除,如果没有要删去的键值key,则会返回return value。如果没有给出return value则会报错。

      >>> dic
      {'name': 1, 'age': 3}
      >>> dic.pop("hobby","查无此键")
      '查无此键'
      >>> dic.pop("hobby")
      #报错
      
    2. clear()

      clear()的用法和序列相同

    3. del

      和pop相比,如果没有要查询的键值就一定会报错。

      >>> dic
      {'name': 1, 'age': 3}
      >>> del dic['age']
      >>> dic
      {'name': 1}
      >>> del dic['age']
      #报错
      #KeyError: 'age'
      
  • 按照切片进行改变

    1. dic.get(key)

      有则返回此键,没有则返回None

      >>> dic={'one':1,'two':2,'three':3}
      >>> dic.get("one")
      1
      >>> dic.get("four")
      None
      
    2. dic.keys()

      返回所有的键值,属于特殊类型,需要转换为列表或元组

      >>> dic.keys()
      dict_keys(['one', 'two', 'three'])
      
    3. dic.values()

      返回所有的值,和上面的一样属于特殊类型

      >>> dic.values()
      dict_values([1, 2, 3])
      
    4. dic.items()

      返回所有的键值对,可以强制改变形成元素为元组类型的列表

      >>> dic.items()
      dict_items([('one', 1), ('two', 2), ('three', 3)])
      
  • 其他

    函数 功能
    len(D) 返回字典D的键值对数量
    key in D 查看键值是否在D中,返回BOOL值。
    key not in D 查看键值是否不在D中,返回BOOL值
posted @ 2020-07-20 17:37  life_if_forever  阅读(120)  评论(0)    收藏  举报