栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习记录(四):序列——字典 & 集合

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习记录(四):序列——字典 & 集合

文章目录
  • 2. 常用的序列结构
    • 2.4字典
      • 字典的创建
      • 字典元素的访问
      • 添加、修改、删除
      • 序列解包
      • 总结
    • 2.5 集合
      • 创建 & 删除
      • 相关操作

2. 常用的序列结构
  • 2.4字典
    • 是 键值对 的 无序可变 序列;
      • 键值对包含键对象和值对象;
        • 键,是任意的不可变数据(整数、浮点数、字符串、元组),且不可重复;
        • 值,可以是任何数据,可重复;
    • 字典的创建
      • 通过{} 、dicct()创建字典;
        a = {'name':'arina', 'age':18}
        b = dict(name = arina, age = 18)
        a = dict([("name", "arina"), ("age", 18)])
        c = {}    # 空字典对象
        d = dict()    #空的字典对象
        
      • zip()创建对象
        k = ['name', 'age']
        v = ['arina', 18]
        d = dict(zip(k, v))
        
      • fromkeys创建空的字典
        a = dict.fromkeys(['name', 'age'])
        -------
        {'name':None, 'age':None}
        
    • 字典元素的访问
      • 通过“键”获取“值”,键不存在时,抛出异常;
        a = {'name':'arina', 'age':18}
        a['name']
        -------
        arina
        
      • get(),推荐使用;
        指定键不存在,返回None,也可以设定指定“键”不存在时默认返回的对象。
        a.get('name')
        -------
        arina
        
        a.get['job',"不存在"]
        -------
        "不存在"
        
      • items()列出全部键值对
        a.items()
        -------
        dict_items([('name', arina), ('age', 18)])
        
      • keys()、values()列出全部键、值;
        a.keys()
        -------
        dict_keys(['name', 'age'])
        
        a.values()
        -------
        dict_values(['arina', 18])
        
      • len()计算键值对的个数;
      • in 检测一个键是否在字典中;
        'name' in a
        -------
        True
        
    • 添加、修改、删除
      • 添加时,若键已经存在,则覆盖之前的键值对;若不存在,则新增新的键值对;
        a['job'] = teacher
        
      • update()将新字典中的全部键值对加入旧字典中,若键有重复,则直接覆盖;
        a = {'name':'arina', 'age':18}
        b = {'name':'enna', 'job':'teacher'}
        a.update(b)
        -------
        {'name':enna, 'age':18, 'job':'teacher'}
        
      • del()删除指定元素;
      • clear()删除全部键值对;
      • pop()删除指定键值对,并返回“值对象”;
      • popitem()随机删除和返回该键值对;
    • 序列解包
      • 可用于元组、列表、字典;
      • 序列解包用于字典时,默认是对“键”进行操作;若需要对键值操作,则使用items();对“值”操作,则需要用values();
        s = {'name':arina, 'age':18}
        name, age = s
        
    • 总结
      1. 键必须可散列;
      2. 字典在内存中开销巨大;
      3. 见得查询速度很快;
      4. 往字典里面添加新键可能会导致扩容,导致散列表中键的次序变化。因此,不要在遍历字典的同时进行字典的修改;

  • 2.5 集合
    • 无序可变 ,元素 不能重复 ;
    • 集合的所有元素都是字典中的“键对象”,因此不能重复且唯一;
    • 创建 & 删除
      • {}创建集合对象,add()添加元素;
        a = {1, 2, 3}
        a.add(4)
        --------
        {1, 2, 3, 4}
        
      • set()将列表、元组等可迭代对象转成集合,若数据重复,则只保留一个;
        a = ['a', 'b', 'c', 'c']
        b = set(a)
        -------
        {'a', 'b', 'c'}
        
      • remove()删除指定元素;
      • clear()清空整个集合;
    • 相关操作
      • ’ & ’ 并集操作;
      • ’ - ’ 差集操作;
      • ’ .union() ’ 并集操作;
      • ’ .interection(b) ’ 交集操作;
      • ’ .difference() ’ 差集操作;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号