zoukankan      html  css  js  c++  java
  • python字典

    Python基础数据类型之字典

    一、什么是字典

    Python的字典,也称为hash或关系数组,是Python的基础数据类型之一,也是其唯一的映射类型。区别于序列类型,序列类型通过数组的形式存储,
    通过索引的方式来取得对应位置上的值,索引与其对应的值本身并没有关系。而字典是一种映射类型,本身是没有顺序的,通过Key-Value的的对应关
    系来取值。字典的键必须是独一无二的,而值可以取任何类型,但是值必须是不可变的,如字符串、数组或元组

    二、如何创建字典

    方法1:将键值对用大括号包裹起来,之间用逗号隔开就创建了一个字典,如果要创建一个空字典,直接一对大括号即可。
    >>> dict1 = {}                      #创建一个空字典
    >>> type(dict1)
    <class 'dict'>
    >>> dict2 = {'A':1,'B':2,'C':3}     #用键值对创建一个字典,键分别为'A','B','C',值分别为1,2,3
    >>> dict2
    {'A': 1, 'B': 2, 'C': 3}
    >>> type(dict2)
    <class 'dict'>
    >>>
    方法2:用dict()函数将一堆由映射关系的数据转换为字典
    方法2:用dict()函数将一堆由映射关系的数据转换为字典
    
    >>> dict1 = dict(A=1,B=2,C=3)
    >>> dict2 = dict([('A',1),('B',2),('C',3)])
    >>> dict3 = dict({'A':1,'B':2,'C':3})
    >>> dict4 = dict(zip(['A','B','C'],[1,2,3]))
    >>> dict1
    {'A': 1, 'B': 2, 'C': 3}
    >>> dict2
    {'A': 1, 'B': 2, 'C': 3}
    >>> dict3
    {'A': 1, 'B': 2, 'C': 3}
    >>> dict4
    {'A': 1, 'B': 2, 'C': 3}
    >>> dict1 == dict2 == dict3 == dict4
    True
    >>>
    三、访问字典

    要访问字典里的值,可以使用下面的方式
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1['A']
    1
    >>> dict1['B']
    2
    >>>
    四、字典的方法

    1.clear()
    清空字典
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.clear()
    >>> dict1
    {}
    >>>
    2.copy()
    浅拷贝一个字典
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict2 = dict1.copy()
    >>> dict2
    {'A': 1, 'B': 2, 'C': 3}
    >>>
    3.fromkeys()
    用于创建并返回一个新的字典,它有两个参数,第一个参数是字典的键,第二个参数是可选的,是传入键对应的值,默认为None。
    >>> dict1 = {}
    >>> dict1.fromkeys((1,2,3,4))
    {1: None, 2: None, 3: None, 4: None}
    >>> dict1.fromkeys((1,2,3,4),'Keys')
    {1: 'Keys', 2: 'Keys', 3: 'Keys', 4: 'Keys'}
    >>>
    4.get()
    根据键获得其对应的值,当键不存在时,返回None,如果想要没有找到时返回自己想要返回的数据,在其后面添加参数即可。
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.get('A')
    1
    >>> dict1.get('C')
    3
    >>> dict1.get('D')
    >>> dict1.get('D','没有找到')
    '没有找到'
    >>>
    5.items()
    获得字典所有的项
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.items()
    dict_items([('A', 1), ('B', 2), ('C', 3)])
    >>>
    6.keys()
    获得字典所有的键
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.keys()
    dict_keys(['A', 'B', 'C'])
    >>>
    7.pop()
    给定字典的键弹出其对应的值
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.pop('A')
    1
    >>> dict1.pop('C')
    3
    >>> dict1
    {'B': 2}
    >>>
    8.popitem()
    随机弹出字典的一个项
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.popitem()
    ('C', 3)
    >>> dict1
    {'A': 1, 'B': 2}
    >>> dict1.popitem()
    ('B', 2)
    >>> dict1
    {'A': 1}
    >>>
    9.setdefault()
    setdefault()方法和get()方法有些类似,不同之处在于setdefault()方法找不到键时会自己添加一个
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.setdefault('B')
    2
    >>> dict1
    {'A': 1, 'B': 2, 'C': 3}
    >>> dict1.setdefault('D')
    >>> dict1
    {'A': 1, 'B': 2, 'C': 3, 'D': None}
    >>>
    10.update()
    更新字典
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.update(A='a')
    >>> dict1
    {'A': 'a', 'B': 2, 'C': 3}
    >>>
    11.values()
    获得字典的所有值
    >>> dict1 = {'A':1,'B':2,'C':3}
    >>> dict1.values()
    dict_values([1, 2, 3])
    >>>
    
    
  • 相关阅读:
    (转)老话题,权限设计及实现!
    (转)深入理解最强桌面地图控件GMAP.NET 百度地图
    (转)一步一步Asp.Net MVC系列_权限管理设计起始篇
    (转)常见存储过程分页PK赛——简单测试分析常见存储过程分页速度
    (转)正则表达之零宽断言(零宽度正预测先行断言)
    holer实现外网访问本地网站
    ural(Timus) 1039. Anniversary Party
    uva 10308 Roads in the North
    其他OJ 树型DP 技能树(未通过)
    ural(Timus) 1067. Disk Tree
  • 原文地址:https://www.cnblogs.com/Keys819/p/9296216.html
Copyright © 2011-2022 走看看