zoukankan      html  css  js  c++  java
  • python 数据结构

    python的字典是一种可变容器模型,且可存储任意类型对象。字典是无序的,没有索引。

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

    1 >>> d = {'k1':'v1','k2':'v2',}
    2 >>> d
    3 {'k2': 'v2', 'k1': 'v1'}
    4 >>> 

    在字典里面,键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    一个简单的字典实例:

    1 >>> d = {'k1':'v1','k2':'v2','2':5,}
    2 >>> d['2']
    3 5
    4 >>> 

    创建字典:

      创建空字典:

    1 >>> d = dict()
    2 >>> d
    3 {}
    4 >>> d1 = {}
    5 >>> d1
    6 {}
    7 >>> 

      创建非空字典:

    1 >>> d = {'name':'admin','gender':'man','job':'python',}
    2 >>> d
    3 {'job': 'python', 'gender': 'man', 'name': 'admin'}
    4 >>> 

      注意:在创建字典时,键名一定是不可变的(如数字,字符串等),并且若同一个键名被创建n(n>1)次,则该键前面所有的值都会被后一个值覆盖,到最后只留下最后一次赋予的值。

    1 >>> d = {'name':'admin','job':'python','name':'root',}
    2 >>> d['name']
    3 'root'
    4 >>> d
    5 {'job': 'python', 'name': 'root'}
    6 >>> 

    访问字典里面的值:

    1 >>> d = {'name':'admin','gender':'man','job':'python',}
    2 >>> d['name']
    3 'admin'
    4 >>> d['job']
    5 'python'
    6 >>> 

    字典更新:

      若键存在,则更新对应的值,若不存在,直接添加键值对

    1 >>> d = {'job': 'python', 'gender': 'man', 'name': 'admin'}
    2 >>> d['name'] = 'root'
    3 >>> d
    4 {'job': 'python', 'gender': 'man', 'name': 'root'}
    5 >>> d['age'] = 22
    6 >>> d
    7 {'job': 'python', 'gender': 'man', 'name': 'root', 'age': 22}
    8 >>> 

    删除字典:

      删除单个元素:

    1 >>> d = {'job': 'python', 'gender': 'man', 'name': 'root'}
    2 >>> del d['gender']
    3 >>> d
    4 {'job': 'python', 'name': 'root'}
    5 >>> 

      删除整个字典:

    >>> d1 = {'job': 'python', 'name': 'root'}
    >>> del d1
    >>> d1
    Traceback (most recent call last):
      File "<pyshell#28>", line 1, in <module>
        d
    NameError: name 'd1' is not defined

      清空字典所有元素:

    1 >>> d = {'job': 'python', 'gender': 'man', 'name': 'root'}
    2 >>> d.clear()
    3 >>> d
    4 {}
    5 >>> 

      

    注意:

      1、要判断一个字符串是否是字典的键,直接用in即可。 

    1 >>> d = {'a':1, 'b':2}
    2 >>> 'a' in d
    3 True
    4 >>> 'v' in d
    5 False
    6 >>> 

       2、字典中的键可以是数字,字符串,对象等。若一个键是数字,另一个键是字符串,其内的数字与另一个键相同,他们是不同的键值对:

    1 >>> d = {1:2, '1':3}
    2 >>> d[1]
    3 2
    4 >>> d['1']
    5 3
    6 >>> 

    字典的内置函数和方法:

      内置函数:

    1 len(dic)
    2 '''返回字典键的个数'''
    3 str(dic)
    4 '''输出字典,以可打印的字符串表示'''
    5 type(dic)
    6 '''返回输入对象的类型,字典就返回字典类型'''

       字典的方法:

     1 '''字典内置方法'''
     2 
     3 get()
     4 '''传入键名或键名和默认值,返回指定键的关联值,若指定键不存在,则返回默认值。eg:d.get('x',99)'''
     5 keys()
     6 '''以迭代器的形式返回字典中的所有键,所得的列表中的每个条目肯定唯一'''
     7 values()
     8 '''以迭代器形式返回字典里面的所有的值,所得列表中的每个条目不一定唯一'''
     9 items()
    10 '''返回(key,value)列表'''
    11 update()
    12 '''用另一个字典的内容对当前字典进行更新'''
    13 pop()
    14 '''pop(k [, d]) 这个可以不传递值,默认删除并返回最后一个键值对的值,传入一个k,则返回k的值。若键名k不存在,且没有设置默认值d,就会报错,若设置了d就返回d'''
    15 popitem()
    16 '''删除,并且返回一个键值对(key,value)形式。如果字典已经为空,却调用了此方法,就报出KeyError异常。'''
    17 copy()
    18 '''返回一个字典的浅赋值'''
    19 dict.fromkeys(seq[, val])
    20 '''创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值'''
    21 setdefault(key, default=None)
    22 '''和get()类似, 但如果键不存在于字典中,将会添加键到原字典并将值设为default,同时返回default'''
  • 相关阅读:
    [BZOJ4869][洛谷P3747][六省联考2017]相逢是问候(线段树)
    [WC2014][BZOJ3435][洛谷P3920]紫荆花之恋(动态点分治+treap)
    JavaScript对象JQuery In Action
    每日一条SQL LEFT JOIN
    Div border 显示不出来的原因
    HTML列表标记:dl、dt、dd
    The Effective Executive 笔记 一
    c# 解析JSON的几种办法
    使用if else 容易犯的错
    每日一句SQL:内联视图
  • 原文地址:https://www.cnblogs.com/xtsec/p/6599145.html
Copyright © 2011-2022 走看看