美文网首页Python学习手册
Python数据类型-字典

Python数据类型-字典

作者: 复苏的兵马俑 | 来源:发表于2020-01-28 20:12 被阅读0次

    6、字典(Dict)

    字典同样是一种容纳多个元素的容器,在很多方面和列表类似,但是,不同的一点是,字典不是以位置来索引的。
    字典包含多个元素,每个元素以,分隔开,每个元素包含两部分:键(Key)值(Value)键(Key)值(Value)之间用冒号:分隔开,所有元素用大括号{}扩起来。
    字典元素的索引正是依靠元素的键(Key)实现的。
    字典元素的键(Key)必须是唯一的,值则不需要唯一。
    值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。

    dic01 = {key1 : value1, key2 : value2 }
    
    6.1、创建字典
    # example:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    dict02 = {89: 'Test'}
    print('dict01 = {}'.format(dict01))
    print('dict02 = {}'.format(dict02))
    
    # 运行结果:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    dict02 = {89: 'Test'}
    
    6.2、读取字典

    字典的读取是通过键来实现的。

    # example:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    dict02 = {89: 'Test'}
    print("dict01['Jose'] = {}".format(dict01['Jose']))
    print("dict02[89] = {}".format(dict02[89]))
    
    # 运行结果:
    dict01['Jose'] = 92
    dict02[89] = Test
    
    6.3、更新字典

    字典是一种可变的数据类型,字典的修改包括对字典已有的值的重新复制以及增加一组键和值。

    # example:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    dict02 = {89: 'Test'}
    dict01['Jose'] = 100
    dict02[89] = 'Temp'
    print('dict01 = {}'.format(dict01))
    print('dict02 = {}'.format(dict02))
    
    # 运行结果:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 100, 'Vicky': 95}
    dict02 = {89: 'Temp'}
    
    6.4、字典的删除

    字典的删除包括对已有值的删除del和对整个字典的清空clear

    # example:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    dict02 = {89: 'Test'}
    del dict01['Vicky']
    dict02.clear()
    print('dict01 = {}'.format(dict01))
    print('dict02 = {}'.format(dict02))
    
    # 运行结果:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92}
    dict02 = {}
    

    需要注意的是,对整个字典执行del命令之后,系统将整个字典从内存中删除,删除后再执行print命令,系统会报错,提示未定义。
    clear命令只是清空了这个字典中的所有键及值,但是字典本身还存在于系统内。

    6.5、字典的函数

    a、len():

    def len(*args, **kwargs): # real signature unknown
        """ Return the number of items in a container. """
        pass
    
    def len(*args, **kwargs): # real signature unknown
        """ 返回字典中元素的个数。 """
        pass
    
    # example:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    print('len(dict01) = {}'.format(len(dict01)))
    
    # 运行结果:
    len(dict01) = 4
    

    b、str():

    def __init__(self, value='', encoding=None, errors='strict'):  # known special case of str.__init__
        """
        str(object='') -> str
        str(bytes_or_buffer[, encoding[, errors]]) -> str
        Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler.
        Otherwise, returns the result of object.__str__() (if defined) or repr(object).
        encoding defaults to sys.getdefaultencoding().
        errors defaults to 'strict'.
        # (copied from class doc)
        """
        pass
    
    def __init__(self, value='', encoding=None, errors='strict'):  # known special case of str.__init__
        """
        str(object='') -> str
        str(bytes_or_buffer[, encoding[, errors]]) -> str
        从给定对象创建一个新的字符串对象。如果指定了编码或错误,则对象必须公开一个数据缓冲区,该缓冲区将使用给定的编码和错误处理程序进行解码。
        否则,返回object._ str__()(如果定义了)或repr(对象)的结果。
        编码默认为sys.getdefaultencoding()。
        错误默认为“strict”。
        # (copied from class doc)
        """
        pass
    
    # example:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    str01 = str(dict01)
    print('str01 = {}'.format(str01))
    
    # 运行结果:
    str01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    

    c、type():

    def __init__(cls, what, bases=None, dict=None):  # known special case of type.__init__
        """
        type(object_or_name, bases, dict)
        type(object) -> the object's type
        type(name, bases, dict) -> a new type
        # (copied from class doc)
        """
        pass
    
    # example:
    dict01 = {'Kevin': 100, 'Loki': 98, 'Jose': 92, 'Vicky': 95}
    print('type(dict01):{}'.format(type(dict01)))
    
    # 运行结果:
    type(dict01):<class 'dict'>
    

    相关文章

      网友评论

        本文标题:Python数据类型-字典

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