美文网首页python
python 数据结构 字典

python 数据结构 字典

作者: hiekay | 来源:发表于2018-10-22 18:19 被阅读0次

    字典,名称就叫做dictionary,翻译过来是字典,类似于前面的int/str/list,这种类型数据名称是:dict
    实验:

    >>>help(dict)
    

    使用dir,也能得到相同的结果。

    >>> dir(dict)
    ['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues']
    

    values这个内置函数的使用方法

    >>> help(dict.values)
    
    Help on method_descriptor:
    
    values(...)
        D.values() -> list of D's values
    (END)
    

    q键退回。

    概述

    python中的dict具有如下特点:
    dict是可变的
    dict可以存储任意数量的Python对象
    dict可以存储任何python数据类型
    dict以:key:value,即“键:值”对的形式存储数据,每个键是唯一的。
    dict也被称为关联数组或哈希表。
    以上诸条,如果还不是很理解,也没有关系,通过下面的学习,特别是通过各种实验,就能理解了。

    创建dict

    • 方法1:

    创建一个空的dict,这个空dict,可以在以后向里面加东西用。

    >>> mydict = {}
    >>> mydict
    {}
    

    创建有内容的dict。

    >>> person = {"name":"hiekay","site":"hiekay.github.io","language":"python"}
    >>> person
    {'name': 'hiekay', 'language': 'python', 'site': 'hiekay.github.io'}
    

    "name":"hiekay"就是一个键值对,前面的name叫做键(key),后面的hiekay是前面的键所对应的值(value)。在一个dict中,键是唯一的,不能重复;值则是对应于键,值可以重复。键值之间用(:)英文的分号,每一对键值之间用英文的逗号(,)隔开。

    >>> person['name2']="hiekay"    #这是一种向dict中增加键值对的方法
    >>> person
    {'name2': 'hiekay', 'name': 'hiekay', 'language': 'python', 'site': 'hiekay.github.io'}
    

    如下,演示了从一个空的dict开始增加内容的过程:

    >>> mydict = {}
    >>> mydict
    {}
    >>> mydict["site"] = "hiekay.github.io"
    >>> mydict[1] = 80
    >>> mydict[2] = "python"
    >>> mydict["name"] = ["zhangsan","lisi","wangwu"]
    >>> mydict
    {1: 80, 2: 'python', 'site': 'hiekay.github.io', 'name': ['zhangsan', 'lisi', 'wangwu']}
    
    >>> mydict[1] = 90  #如果这样,则是修改这个键的值
    >>> mydict
    {1: 90, 2: 'python', 'site': 'hiekay.github.io', 'name': ['zhangsan', 'lisi', 'wangwu']}
    
    • 方法2: 元组
    >>> name = (["first","Google"],["second","Yahoo"])      #这是另外一种数据类型,称之为元组,后面会讲到
    >>> website = dict(name)
    >>> website
    {'second': 'Yahoo', 'first': 'Google'}
    
    • 方法3: Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
    >>> website = {}.fromkeys(("third","forth"),"facebook")
    >>> website
    {'forth': 'facebook', 'third': 'facebook'}
    

    需要提醒的是,这种方法是从新建立一个dict。

    访问dict的值

    因为dict是以键值对的形式存储数据的,所以,只要知道键,就能得到值。这本质上就是一种映射关系。

    >>> person
    {'name2': 'hiekay', 'name': 'hiekay', 'language': 'python', 'site': 'hiekay.github.io'}
    >>> person['name']
    'hiekay'
    >>> person['language']
    'python'
    >>> site = person['site']
    >>> print site
    hiekay.github.io
    

    遍历:

    可以用for语句

    >>> person
    {'name2': 'hiekay', 'name': 'hiekay', 'language': 'python', 'site': 'hiekay.github.io'}
    >>> for key in person:
    ...     print person[key]
    ...
    hiekay
    hiekay
    python
    hiekay.github.io
    

    相关文章

      网友评论

        本文标题:python 数据结构 字典

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