美文网首页
2021-09-10-P57-P65-字典-马士兵Python教

2021-09-10-P57-P65-字典-马士兵Python教

作者: FFwizard | 来源:发表于2021-09-10 12:46 被阅读0次

    2021-09-09

    视频链接

    字典

    课程介绍

    1、什么是字典
    2、字典的原理
    3、字典的创建与删除
    4、字典的查询操作
    5、字典元素的增、删、改操作
    6、字典推导式

    57、什么是字典

    1、什么是字典
    python内置的数据结构之一,与列表一样是一个可变序列
    以键值对的方式存储数据,字典是一个无序的序列
    列表-单身-有序 字典-成对-无序
    创建字典时,会用到hash函数计算字典的存储位置,
    不可变序列:没法再原来的基础上继续添加内容,例如字符串,s='hello';s='helloworld' 指的是两个对象,而不是一个对象添加内容

    58、字典的原理

    2、字典的原理
    实现原理与查字典类似,python中的字典根据key查找value所在的位置
    hash(key)还计算存储位置对应的value

    59、字典的创建

    最常用使用花括号:{'张三':100}
    使用内置函数dict():dict(name=‘jack’,age=20)

    score={'张三':100,'李四':98}    ##花括号创建
    print(score)
    print(type(score))
    student=dict(name='jack',age=20)
    print(student)
    print(type(student))
    d={} #空字典
    print(d)
    print(type(d))
    

    60、字典元素的获取

    第一种:[]
    第二种:get

    score={'张三':100,'李四':98,'王五':45}
    print(score['张三'])  # []来获取字典元素 不存在,会报错
    print(score.get('张三'))  # 调用get函数获取 不存在,不会报错,会返回None
    print(score.get('麻七',99))  # 99是查找麻七不存在是 提供的默认值
    

    61、字典的常用操作

    key 的判断 in not in
    字典元素的删除 del scores[‘张三’]

    score={'张三':100,'李四':98,'王五':45}
    print('张三' in score)  # 判断key值在不在字典里
    del score['张三']  # 删除指定的键值对
    score.clear()  #  清空字典的元素
    score['陈六']=98  # 新增元素,一个键值对
    score['陈六']=100  # 修改元素
    

    62、获取字典视图的三个方法

    key 获取字典所有的key
    value 获取字典所有的value
    items 获取字典中所有的keyu,value对

    score={'张三':100,'李四':98,'王五':45}
    keys=score.keys()
    list(keys)    #可以将提取的keys值转换成列表
    print(type(keys))
    values=score.values()
    print(type(values))
    list(values)  #可以将提取的valus值转换成列表
    score.items()
    list(score.items())  ## 转换后的列表元素是由元祖组成的
    

    63、字典元素的遍历

    score={'张三':100,'李四':98,'王五':45}
    for item in score :    ## 遍历是对健的遍历
             print(item,score[item],score.get(item))  #字典内元素不同的获取形式
    

    64、字典的特点

    key不允许重复,value可以重复
    字典中的元素是无序的
    字典中的健必须是不可变对象,
    不可变对象:字符串、整数 可变对象:列表
    字典可以根据需要动态的伸缩
    字典会浪费较大的内存,是一种用空间换时间的数据结构

    65、字典生成式

    内置函数zip:将可迭代对象作为参数,将对象中对应的元素打包成一个元祖,然后返回由这些元祖组成的列表。
    {item.upper():price for item,price in zip(items,prices)}
    item.upper():字典key的表达式
    price :字典value的表达式
    item,price:自定义变量
    zip(items,prices):可迭代对象

    items=['Fruits','Books','prices']
    prices=[96,97,85,100,200]
    d={item.upper():price for item,price in zip(items,prices)}
    ##当两组不匹配式,医短的那组生成相匹配的元祖列表
    print(d)
    

    相关文章

      网友评论

          本文标题:2021-09-10-P57-P65-字典-马士兵Python教

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