
一、了解字符串
1.字符串的定义
通过引号来创建字符串,单引号‘(内容)’双引号“(内容)”
2.字符串的输入
通过input方法来输入字符串
3.字符串的输出
普通输出:print(变量名称)
格式化输出: 1、百分号格式化输出 2、format正常输出 3、format简单输出
4.字符串在计算机底层的存储形式
字符串在内存中以连续存储的方式

5.索引下标
他就是一个编号,方便我们快速找到数据

二、字符串切片
(一) 什么是字符串切片
所谓切片指对操作的对象 截取 其中⼀部分的操作。字符串、列表、元组都支持切片操作
(二) 字符串切⽚基本语法
语法: 字符串变量名[参数1:参数2:参数3]
参数1:表示从哪个位置开始切,默认从0号位置开始切,默认情况可以不写
参数2:表示切到哪个位置为止,默认就是字符串的长度,默认情况可以不写
参数3:表示你想怎么切(切的方向+切的步长),默认为1,也可以不写
示例
# 假如有个字符串如下
myName = "123456789"
# 需求是:获取myName的456,其余的不要
res = myName[3:6:1] # 对字符串进行切片操作
print(f"对字符串切片之后的结果是:{res}")
![]()
(三) 字符串切片口决
记⼝诀:切⽚其实很简单,只顾头来尾不管,步⻓为正正向移,步⻓为负则逆向移

(四) 字符串切⽚的⼩栗⼦
numstr = '0123456789'
# 1、从2到5开始切⽚,步⻓为1
print(numstr[2:5:1])
print(numstr[2:5])
Python
# 2、只有结尾的字符串切⽚:代表从索引为0开始,截取到索引为5的位置(不包含索引为5的数据)
print(numstr[:5])
# 3、只有开头的字符串切⽚:代表从起始位置开始,已知截取到字符串的结尾
print(numstr[1:])
# 4、获取或拷⻉整个字符串
print(numstr[:])
# 5、调整步阶:类似求偶数
print(numstr[::2])
print(numstr[::-1])
# 6、把步阶设置为负整数:类似字符串翻转
# 7、起始位置与结束位置都是负数
print(numstr[-4:-1])
# 8、结束字符为负数,如截取012345678
print(numstr[:-1])
三、字符串的操作方法(内置)
(一) 字符串中的查找⽅法
find()检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则返回-1。
index()检测某个⼦串是否包含在这个字 符串中,如果在返回这个⼦串开 始的位置下标,否则则报异常。
示例:
# find()函数 查找字符串
title = "aaa怀化学院&&飞思怀化集团"
find_res = title.find("怀222化")
# find()函数返回的是查找字符串在目标字符串中第一次出现的位置
# 若find()函数返回的是-1,则说明你要找的字符串不在目标字符串中
print(find_res)
print("------------------")
index_res = title.index("怀化")
# index()函数调用时,若你要找的字符串不在目标字符串中,程序会报错
print(index_res)

(二) 字符串的修改⽅法
replace() 返回替换后的字符串 基本语法: 字符串.replace(要替换的内容, 替换后的内容, 替换的次数-可以省略)
name = "a:b:c:d:e:f:g"
res = name.replace("a:b:c:d:e:f:g","学院真牛逼")
print(res)
![]()
split() 返回切割后的列表序列
name = "a:b:c:d:e:f:g"
res1 = name.split("#")
print(res1)
![]()
join() 把序列凭借为字符串

title() 所有单词⾸字⺟⼤写
name = "a:b:c:d:e:f:g"
res2 = name.title()
print(res2)
![]()
upper()与lower()返回全部⼤写或⼩写的字符串
name = "a:b:c:d:e:f:g"
res3 = name.upper()
res11 = res3
res4 = name.lower()
print(f"{res3} {res4}")

(三) 字符串的判断⽅法
isalpha() 检查字符串是否所有字符都是字⺟ 则返回 True,否则返回 False
name = "abcdefg"
print(name.isalpha())
name1 ="akldj123"
print(name1.isalpha())

isdigit() 检查字符串是否是否所有字符都是 数字则返回 True,否则返回 False
name = "abcdefg"
print(name.isdigit())
name1 ="123456"
print(name1.isdigit())
name1 ="123456dsf"
print(name1.isdigit())

四、列表及其应⽤场景
(一)为什么需要列表
因为 列表是⼀次可以存储多个数据加数据类型的容器
(二)列表的定义
定义列表的语法 列表名 =[元素1,元素2,元素3....]
# 举例
# fruit1 = "香蕉"
# fruit2 = "苹果"
# fruit3 = "西瓜"
# fruit_list = ["香蕉",111,True]
#
# fruit_list = [fruit1,fruit2,fruit3]
(三)列表的操作
- 增
1 append()增加指定数据到列表中
2 extend()列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表
3 insert()指定位置新增数据
str=["a","b","c","d","e"]
# append()在列表的尾部增加元素
res = str.append("游泳")
print(f"变量的输出{res},列表的输出{str}")
# 如果将值赋值给变量,那么变量的输出会显示为None,但是列表中还是会出现所要增加的元素
# extend()将数据(序列)逐一加到列表中
str.extend("游泳")
print(str)
str1 = ["篮球","足球"]
str.extend(str1)
print(f"变量的输出{str1},列表的输出{str}")
# extend⽅法⽐较适合于两个列表进⾏元素的合并操作
# insert()在指定的位置添加元素
res1 = str.insert(1,"nide")
print(f"变量的输出{res1},列表的输出{str}")
res2 = str.insert(100,"mide")
print(f"变量的输出{res2},列表的输出{str}")
# 如果索引的位置超出列表,元素也会被添加到列表的末尾

| 方法 | 操作对象 | 参数类型 | 效果 |
|---|---|---|---|
append() | 尾部追加 | 任意类型 | 添加单个元素 |
extend() | 尾部展开追加 | 可迭代对象 | 逐个添加元素 |
insert() | 指定位置插入 | 索引 + 任意类型 | 在指定位置前插入元素(支持越界) |
- 删
1 del 列表[索引]删除列表中的某个元素
2pop()删除指定下标的数据(默认为最后⼀个),并返回该数据
3remove()移除列表中某个数据的第⼀个匹配项。
str1 = ["a","b","c","d","d"]
# del关键字,删除表中元素根据索引
del str1[0]
print(str1)
# 通过pop()删除指定下标的元素(他的默认为列表中的最后一个),他主要是通过索引
res = str1.pop()
print(f"变量的输出{res},列表str1的输出{str1}")
# 通过remove()删除列表中与之相匹配的元素,它主要通过特定的元素
res1 = str1.remove("d")
print(f"变量的输出{res1},列表str1的输出{str1}")

| 方法 | 操作依据 | 返回值 | 适用场景 |
|---|---|---|---|
del | 索引/切片 | 无 | 按位置删除(支持批量删除) |
pop() | 索引(默认-1) | 被删除元素 | 需利用被删除值的场景 |
remove() | 元素值 | 无 | 按值删除首个匹配项 |
- 改
1 列表[索引] = 修改后的值修改列表中的某个元素
2 reverse()将数据序列进⾏倒叙排列
3 sort()对列表序列进⾏排序
str1 = ["a","b","c","d","d"]
# 列表[索引] = 修改后的值
str1[0] = 'e'
print(str1)
# str1[10] = 'h'#超出列表会报错
# 通过resver()对列表中的元素进行倒序排序
res = str1.reverse()
print(f"变量的输出{res},列表str1的输出{str1}")
# 通过sort()对列表中的元素进行升序排序
str1.sort()
print(f"列表元素为字母{str1}")
# 列表是数字
xuhao = [10,10,20,3,5,1]
res1 = xuhao.sort()
print("列表为数字")
print(f"变量的输出{res1},列表str1的输出{str1}")
# 列表为文字
wenzi = ["一","二","五","四","三"]
wenzi.sort()
print(f"列表元素为文字{wenzi}")
# 列表比较混
hunhe = ["a","0","你","wode"]
hunhe.sort()
print(f"列表元素{hunhe}")

| 方法 | 操作类型 | 返回值 | 适用场景 |
|---|---|---|---|
reverse() | 反转顺序 | 无 | 快速反转列表元素 |
sort() | 排序 | 无 | 升序/降序排序(支持自定义规则) |
- 查
1 index()指定数据所在位置的下标
2 count()统计指定数据在当前列表中出现的 次数
3 in判断指定数据在某个列表序列,如 果在返回True,否则返回False
4 not in判断指定数据不在某个列表序列, 如果不在返回True,否则返回 False
sport_list = ["a","b","c","d","e","b"]
# index()通过内容找出元素下标
str = sport_list.index("b")
print(str)
# print(sport_list.index("h")) 如果列表中没有此元素那么他会报错
# count()通过内容找出出现次数
str1 = sport_list.count("跑步")
print(str1)
# 通过in与not in来查看元素是否存在与列表中
biaodashi = "羽毛球" in sport_list
print(biaodashi)
biaodashi = "羽毛球" not in sport_list
print(biaodashi)

| 方法/操作符 | 功能 | 返回值 | 适用场景 |
|---|---|---|---|
index() | 查找元素首次出现的索引 | 整数索引 | 需定位元素位置(注意异常处理) |
count() | 统计元素出现次数 | 非负整数 | 需统计频率或判断是否存在(次数>0) |
in与not in | 判断元素是否存在 | 布尔值 | 快速判断存在性(无需具体位置) |
(四)列表的循环遍历
循环遍历就是使⽤while或for循环对列表中的每个数据进⾏打印输出
for的循环遍历
list =[1,2,3,4]
for item in list:
print(item)
![]()
while的循环遍历:
# 如果用while循环遍历列表,怎么写
# 解决两个问题
# 第一个问题:循环条件
# 第二个问题:怎么表示你拿到了列表里面的元素
# 列表中的元素和你while循环所定义的计数器之间有什么关系
list = [1,2,3,4]
count = 0
while True:
if count==len(list):
break
else:
element = list[count]
# 把计数器当成列表中元素的下标
count = count +1
print(element)

(五)列表的嵌套
列表中⼜有⼀个列表,我们把这种情况就称之为列表嵌套
列表中的嵌套 list = ["aaa","bbb","ccc"]# 列表中的元素都是字符串类型 list = [1,2,3,4,5] #列表中的元素都是数字类型 list = ["aaa",32423,True,"dddd"]#列表中的元素比较混
# 举例
class01 = ["Jack","Tome","frank"]
class02 = [19,22,30]
class03 = [True,True,True]
list = [class01,class02,class03]
print(list)
# 我想要拿到Jack 22 True
print(list[0][0])
print(list[1][1])
print(list[2][2])

五、元组的定义与使用
1、它是什么
她是一种数据类型,属于序列中的一种
2、它有什么用
所有的序列类型都可以存储数据 只不过和变量不同的是,序列类型可以一次性存储多个数据。 存储多个数据且要求数据 不可以更改的时候 就可以使用元组
3、它在什么情况下使用
当你想要一次性存储多个数据且不想让数据进行更改的时候
4、它怎么用
元组的定义:定义元组使⽤ ⼩括号,且使⽤ 逗号 隔开各个数据,数据可以是不同的数据类型
基本语法:# 多个数据元组
tuple1 = (10, 20, 30)
# 单个数据元组
tuple2 = (10,)
注意:如果定义的元组只有⼀个数据,那么这个数据后⾯也要添加逗号,否则数据类型为唯⼀的这个数 据的数据类型
元组的相关操作⽅法:
1、元组[索引] 根据 索引下标 查找元素
2、 index() 查找某个数据,如果数据存在返回 对应的下标,否则报错,语法和列 表、字符串的index⽅法相同
3、 count() 统计某个数据在当前元组出现的次 数
4、len() 统计元组中数据的个数
nums = (10, 20, 30, 50, 30)
print(f"访问下标为2的元素{nums[2]}")
print(f"查找20元素在元组中出现的位置{nums.index(20)}")
print(f"统计30在元组中出现的次数{nums.count(30)}")
print(f"元组的长度{len(nums)}")

元组的遍历:
使用for循环直接对元组进行遍历
tuple = (1,2,3,4,5)
for item in tuple:
print(item)
new_tuple = tuple[0:3]
print(new_tuple)


4848

被折叠的 条评论
为什么被折叠?



