- 数据容器的视角学习字符串:字符串是字符的容器
- 字符串支持正向下标索引和反向下标索引
- 同元组一样,字符串也是一个无法修改的数据容器
- 1.index()
- 2.字符串的替换:
- 语法:字符串.replace(字符串1,字符串2),功能:将字符串1中的全部内容更换成字符串2,但要注意,并不是修改字符串本身,而是得到了一个新的字符串
- 但也可以实现字符串中部分内容的替换,用print输出的时候,会发现原本的my_str并没有改变
- 3.字符串的分割:
- 语法:字符串.split(分隔符字符串)
- 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中,同时注意,字符串本身不变,而是得到了一个列表对象
- 这个例子是用空格来切割字符串的
- 字符串的规整操作(去前后空格)
- 字符串的规整操作(去前后指定字符串) 注意:括号传入的是12,但实际上“1”和“2”都会被移除,是按照单个字符
- 同样,规整操作并不会改变原来的字符串,但是会产生一个新的返回值,可以用一个变量承接
- 统计字符串中某字符出现的次数:字符串.count(某字符串)
- 统计字符串的长度:len(字符串)
- 字符串的遍历:
- 数据容器(序列)的切片:
- 序列定义:内容连续、有序、可使用下标索引的一类数据容器,列表、元组、字符串均可以式为序列
- 切片:从一个序列中,取出一个子序列
- 语法:序列[起始下标:结束下标:步长]
- 起始下标表示从何处开始,可以留空,留空表示从头开始
- 结束下标表示何处结束,可以留空,留空表示截取到结尾,若是不留空,则取不到对应的结束元素
- 步长1表示一个个取元素
- 步长2表示每次跳过一个元素取
- 步长3表示每次跳过2个元素取
- 步长n表示每次跳过n-1个元素取
- 步长为负数表示反向取
- 注意,对序列的切片操作同样也不会对本身产生影响,而只会产生一个新的序列
- 切片的例题:1.先倒序,再切片得到黑马程序员 2.先切片,在得到黑马程序员
- 集合:非序列
- 定义:发现集合是去重、无序的,所以集合不支持下标索引法,但是支持修改
- 添加新元素:
- 移除元素:
- 随机从集合中取出元素(被取出的元素不在原集合中):
- 清空集合:set()所代表的意思就是空集合
- 取两个集合的差集,得到一个新集合,集合1,2不变:这个代码的意思就是得到集合1有而集合2没有的元素
- 消除两个集合的差集:在集合1内删除和集合2相同的元素,结果就是集合1被修改,集合2不改变
- 两个集合合并成1个:这个过程同时遵循去重原则
- 统计集合元素数量:老朋友len函数,集合是去重的,若碰到重复元素,只会按照一个计算