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

    今天总结一篇关于字典的知识点》

    字典也是python提供的一种常用的数据结构,它用于存放具有映射关系的数据

    比如成绩表,语文:34,数学:99,如果单纯的使用两个列表保存这组数据,则无法记录两组数据之间的关联联系

    so,为了保存具有映射关系的数据,python提供了字典,字典相当于保存了两组数据,其中一组是关键数据,被称为:key;另一组数据可以通过key访问,被称为value;

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

    dict={key1:value1,key2:value2}

    需要指出的是:元组可以作为dict的key,但列表不能作为元组的key。这是由于dict要求key必须是不可变类型,单列表是可变类型,因此列表不能作为元组的key

    创建字典:

    dict={'name':'mike','age':12,'class':'First'}
    print(dict['name'],dict['age'])
    #字典的基本用法
    对于初学者而言,应牢记字典包含多个key-value对,而key是字典的关键数据,因此程序对字典的操作基本上都是key的,基本操作如下:
    • 通过key访问value
    • 通过key添加key-value对
    • 通过key删除key-value对
    • 通过key修改key-value对
    • 通过key判断指定key-value对
    • 通过key访问value使用的也是方括号语法

    如下代码示范了通过key访问value:

    score={'语文':89}
    #通过key访问value
    print(score['语文'])

    如果为dict添加key-value对,只需要为不存在key赋值

    #对不存在的key赋值,就是增加key-value对
    score['数学']=89
    score[92]=5.7
    print(score)#{'语文':89,'数学':98,'92':5.7}

    如果删除字典的key-value,则可以del语句

    #使用del语句删除key-value
    del score['语文']
    del score['数学']
    print(score)
    dict.clear()#清空字典

    如果对dict存在的key-value对赋值,新赋的value就会覆盖原有的value,这样就可以改变dict中的key-value对

    cars = {'BMW':8.5,'BENS':8.3,'AUDI':7.9}
    #对存在的key-value对赋值,改变key-value对
    cars['BENS']=4.3
    cars['AUDI']=3.8
    print(cars)

    如果要判断字典是否包含指定的key,则可以使用in或者not in 运算符,需要指出的是,对于dict而言,in 或not in运算符都是基于key判断的

    #判断cars是否包含名为'AUDI'的key
    print('AUDI'in cars)#True
    print('FJFJD'in cars) #False
    print('dfjefje'not in cars) #True

    #字典的常用方法

    字典由dict类代表,因此我们同样使用dir(dict)查看该类包含哪些方法,在交互解释器中输入dir(dict)命令

    >>> dir(dict)
    ['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
    >>>

    下面介绍dict的一些方法

    clear()

    cars = {'BMW':8.5,'BENS':8.3,'AUDI':7.9}
    #清空cars所有的key-value对 cars.clear()
    print(cars)

    get()方法

    get()方法其实就是根据key获取value,它想当于方括号的增强版,当使用方括号语法访问并不存在的key时,字典会引发keyError错误;但如果使用get()方法访问不存在的key,该方法会简单的返回None,不会导致错误

    cars = {'BMW':8.5,'BENS':8.3,'AUDI':7.9}
    #获取‘BNW’对应的value
    print(cars.get('BMW'))#8.5
    print(cars.get('dfdefe'))#None
    print(cars['dkfjeife'])#keyError

    update()方法

    update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去。例如如下代码:

    cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
    cars.update({'BMW':4.5, 'PORSCHE': 9.3})
    print(cars)

    pop()方法

    pop()方法用于指定key对应的value,并删除key-value对

    cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
    print(cars.pop('AUDI')) # 7.9
    print(cars) # {'BMW': 8.5, 'BENS': 8.3}
    我是kelly-凯莉 每天努力一点点,幸运就多一点点
  • 相关阅读:
    对数线性模型与线性链条件随机场
    25匹马,5个跑道,每个跑道最多能有1匹马进行比赛,最少比多少次能比出前3名?前5名?
    SVM 与 LR的异同
    EM算法简易推导
    K-means算法的优缺点
    自助采样包含训练集里63.2%的样本?
    指数加权移动平均
    oracle 对于用户的相关操作
    docker 安装 maven 私有库 nexus3
    idea 自动注入@Autowired 警告 Field injection is not recommended 关闭
  • 原文地址:https://www.cnblogs.com/kelly11/p/11797312.html
Copyright © 2011-2022 走看看