• 数据类型之元组,字典,集合


    tuple 元组就是一个不可变的列表
    #======================================基本使用======================================
    #1、用途:当我们需要记录多个同种属性的值,并且只有读的需求没有改的需求时,应该用元组


    #2、定义方式:在()内用逗号分隔开多个任意类型的元素
    当元组内只有一个元素时,必须加逗号 t=tuple(('egon',))

    数据类型转换:
    tuple() 括号内可以使字符串 列表 字典 可以进行for循环的值

    #3、常用操作+内置的方法
    #优先掌握的操作:
    #1、按索引取值(正向取+反向取):只能取

    #2、切片(顾头不顾尾,步长)

    #3、长度
    len
    #4、成员运算in和not in
    判断元素在不在内

    #5、循环
    for item in t

    需要掌握的操作
    count:计数


    index:
    #======================================该类型总结====================================
    #存多个值

    #有序

    #不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)

    字典

    #======================================基本使用======================================
    #1、用途:记录多个不同属性的值

    #2、定义方式:在{}内用逗号分隔开多个元素,每一个元素都是KEY:VALUE的形式,其中value可以是任意类型,其中key必须是不可变的类型(通常是str类型)

    数据类型转换:dict
    li=[('name','egon'),('age',18),('gender','male')]
    dict(li)

    #3、常用操作+内置的方法
    #优先掌握的操作:
    #1、按key存取值:可存可取
    dic={'name': 'july', 'age': 180, 'gender': 'male'}
    print(id(dic))
    print['name']='JULY'
    print(id(dic))
    如果key不存在则新增一组key:value
    #2、长度
    len
    #3、成员运算in和not in
    判断的是字典的key

    #4、删除
    del dic['name']

    dic.popitem()返回一个 随机删除

    dic.pop()返回value 指定删除
    #5、键keys(),值values(),键值对items()
    keys 只取key
    values 只取value
    items 取key:value
    #6、循环

    dic.get:传key得到value,如果key不存在 不会报错

    dic.fromkeys():
    dic={}.fromkeys(li,None)
    print(dic)

    dic.update()

    dic.setdefault():执行完毕后是为了保证字典中必须有这么一个K
    字典中没有‘height'这个键,则新增 如果有’name‘这个键,不修改字典
    返回key对应的value 如果存在值 则返还原有key对应的value
    #======================================该类型总结====================================
    #存多个值

    #无序

    #可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)

    集合set
    #======================================基本使用======================================
    #1、用途:
    1.1 做关系运算
    1.2 去重
    如果去重的对象都是不可变类型并且不要求结果跟原来的顺序一致,那么可以用set来解决

    #2、定义方式:在{}内也是用逗号分隔开多个元素,多个元素必须满足一下条件
    2.1 ** 每个元素必须是不可变类型 **
    2.2 集合内元素不能重复
    2.3 集合无序
    s=set()

    数据类型转换
    set('hello')
    print(s)

    #3、常用操作+内置的方法
    关系运算
    交集 res=a & b
    并集 res=a | b
    差集 res=a - b (顺序有区别)
    对称差集 res= a^b
    父集/子集:包含与被包含的关系
    s1={1,2,3}
    s2={1,2}
    res=s1>=s2
    res=s1<=s2

    s1.add(4) 增加一个元素

    s1.update({3,4,5})
    pop 随机删
    remove 指定删
    discard 没有值不会报错
    #======================================该类型总结====================================
    #存多个值

    #无序

    #可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)

    布尔
    在条件判断中所有的数据都会转换成布尔值
    只需记住布尔值为假的数据类型即可:0,None,空
    print(bool(0))
    print(bool(none))
    print(bool(''))

    整型 浮点型  字符串 列表 元组 字典 集合

    按存值分
    一个:整型 浮点型 字符串
    多个:列表 元组 字典 集合

    按有序分:
    有序: 列表 元组
    无序: 字典 集合


    按可变分
    可变:列表 字典 集合
    不可变:整型 浮点型 字符串 元组
  • 相关阅读:
    「字符串算法」第4章 字典树课堂过关
    「字符串算法」第3章 KMP 算法课堂过关
    「字符串算法」第2章 Hash 和 Hash 表课堂过关
    「基础算法」第5章 广度搜索课堂过关
    「基础算法」第3章 二分算法课堂过关
    「基础算法」第1章 递推算法强化训练
    「基础算法」第1章 递推算法课堂过关
    YbtOJ:冲刺 NOIP2020 模拟赛 Day10
    【模板】轻重链剖分
    LINUX-磁盘空间
  • 原文地址:https://www.cnblogs.com/gengbinjia/p/10221811.html
Copyright © 2020-2023  润新知