序列:在python当中 序列就是一组按照顺序排列的值(数据集合)
    在python中 存在三种内置的序列类型:字符串、列表、元组
    优点:可以支持索引和切片的操作
    特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端 (反方向下标最后一位是-1不是0)
    切片是指截取字符串中的其中一段内容
    切片使用语法:[起始下标:结束下标:步长] 切片截取的内容不包含结束下标对应的数据,步长指的是隔几个下标获取一个字符 slice[start:end:step] 左闭右开 步长可以为负值 倒序输出

    字符串常用方法 使用:变量名.字符串方法
    1.capitalize() 首字母变大写
    2.endswith/starts with() 是否x结束/开始
    3.find() 检测x是否在字符串中 没找到返回-1 找到返回位置 index也可以检测,但没找到报错
    4.isalnum() 判断是否是字母和数字
    5.isalpha() 判断是否是字母
    6.isdigit() 判断是否是数字
    7.islower() 判断是否是小写
    8.join() 循环取出所有值用x连接
    join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
    语法:’sep’.join(seq)
    参数说明
    sep:分隔符。可以为空
    seq:要连接的元素序列、字符串、元组、字典
    9.lower/upper 大小写转换
    10.swapcase 大写变小写,小写变大写
    11.lstrip/rstrip/strip 移除左/右/两侧空白 str.strip(chars)表示从字符串str中去掉在其左侧和右侧chars中列出的字符。
    12.split() 切割字符串
    13.title() 把每个单词的首字母变成大写
    14.replace(old,new,count=None) old被换字符串,new替换字符串,count换多少个 无count表示全部替换
    str.replace(old,new):返回字符串str的副本,所有old子串被替换为new。
    15.count() 统计出现的次数
    16.str.center(width,fillchar):返回长度为width的字符串,其中,str位于新字符串中心位置,两侧新增字符采用fillchar填充。
    17.isspace()方法检测字符串是否只由空格组成。如果字符串中只包含空格,则返回 True,否则返回False。y1是空字符串,不包含空格,返回False;y2只包含一个空格,返回True。

    查看内存地址 id()
    b=a 只是把a对象的内存地址赋给了b

    列表
    list 一种有序的数据集合
    特点:
    1.支持增删改查
    2.列表中的数据是可以变化的(数据项可以变化,内存地址不会改变)
    3.用[]来表示列表类型,数据项之间用逗号来分割,数据项可以是任何类型的数据
    4.支持索引和切片来进行操作
    ls + lt将两个列表的所有元素合并为一个列表。

    列表常用方法:
    append :在列表后面追加元素
    count:统计元素出现的次数
    extend:扩展,相当于批量添加
    index:获取指定元素索引号 s.index(x):序列s中第一次出现元素x的位置。
    insert:在指定位置插入 s.insert(i,x):在列表第i位置增加元素x。
    pop:删除最后一个元素 pop(索引值) 移除指定的项
    remove:移除左边找到的第一个元素
    reverse:反转列表
    sort:列表排序

    len()函数可以获取到列表中的数据个数,字符串也可
    输出多次列表中的数据 print(list*3)
    删除列表中指定元素 del list[ ]
    list.index(self,start,stop) 返回一个索引下标

    元组:与列表类似,不同之处在于元组的元素不可修改,但可以对元组中的列表类型的数据进行修改
    1.不可变
    2.用( )创建元组类型,数据项用,分割
    3.可以是任何的类型
    4.当元组中只有一个元素时,要加上逗号,不然解释器会当做整型来处理
    5.同样支持切片操作

    字典:由键值对组成的集合,通常使用键来访问数据,效率非常高,和list一样,支持对数据的添加、修改、删除
    特点:
    1.不是序列类型,没有下标的概念,是一个无序的键值集合,是内置的高级数据类型
    2.用{ }来表示字典对象,每个键值对用逗号分隔
    3.键必须是不可变的类型(元组、字符串) 值可以是任意的类型
    4.每个键必定是唯一的,如果存在重复的键,后者会覆盖前者

    d.get(key,default)根据键信息查找并返回值信息,如果key存在则返回相应值,否则返回默认值。

    赋值
    dict[‘key’]=value ->key:value
    dict.keys():获取所有的键
    dict.values():获取所有的值
    dict.items():获取所有的键值对
    dict.update():可以增加或者修改
    del dict[‘key’]:删除指定键
    dict.pop(‘key’):删除指定键 pop(key[,default])方法删除字典给定键key及对应的值,返回值为被删除的值。key值必须给出,否则返回default值。
    排序
    按照key排序:sorted(dict.items(),key=lambda d:d[0])
    按照value排序:sorted(dict.items(),key=lambda d:d[1])
    公共方法(字符串、列表、元组):合并+、复制*、判断元素是否存在in(结果是bool值)
    字典由键值对组成,max(D)输出的是最大的键。

    常见的组合数据类型有集合类型、序列类型和映射类型。
    序列类型的典型代表是字符串类型和列表类型,映射类型的典型代表是字典类型。集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。

    set集合:无序且不重复的元素集合 不支持索引和切片 类似于字典,但只有key,无value 创建{}
    集合操作函数
    add():添加
    clear():清空
    difference():两个集合的差集 两个集合相减也可实现
    intersection():两个集合的交集 &也可实现
    union():并集 |也可实现
    pop():从集合中随机拿数据并且同时删除
    discard():移除指定元素
    update():更新集合