字符串
2025/8/4大约 7 分钟
字符串
字符串切片
什么是切片?切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
① 不包含结束位置下标对应的数据, 正负整数均可;
② 步长是选取间隔,正负整数均可,默认步长为1。

函数
编号 | 函数 | 作用 |
---|---|---|
1 | find() | 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。 |
2 | index() | 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。 |
3 | rfind() | 和find()功能相同,但查找方向为右侧开始。 |
4 | rindex() | 和index()功能相同,但查找方向为右侧开始。 |
5 | count() | 返回某个子串在字符串中出现的次数 |
字符串修改
编号 | 函数 | 作用 |
---|---|---|
1 | replace() | 返回替换后的字符串 |
2 | split() | 返回切割后的列表序列 |
3 | capitalize() | 首字母大写 |
4 | title() | 所有单词首字母大写 |
5 | upper()与lower() | 返回全部大写或小写的字符串 |
6 | lstrip()、rstrip()与strip() | 去除左边、右边以及两边的空白字符 |
7 | ljust()、rjust()与center() | 返回原字符串左对齐、右对齐以及居中对齐 |
字符串判断
编号 | 函数 | 作用 |
---|---|---|
1 | startswith() | 检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。 |
2 | endswith() | 检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。 |
3 | isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False。 |
4 | isdigit() | 如果字符串只包含数字则返回 True 否则返回 False。 |
5 | isalnum() | Python isalnum() 方法检测字符串是否由字母和数字组成。如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False。 |
6 | isspace() | 如果字符串中只包含空白,则返回 True,否则返回 False |
列表
列表是可变的,毕竟他可以追加元素、修改
查询
编号 | 函数 | 作用 |
---|---|---|
1 | index() | 指定数据所在位置的下标 |
2 | count() | 统计指定数据在当前列表中出现的次数 |
3 | in | 判断指定数据在某个列表序列,如果在返回True,否则返回False |
4 | not in | 判断指定数据不在某个列表序列,如果不在返回True,否则返回False |
增加
编号 | 函数 | 作用 |
---|---|---|
1 | append() | 增加指定数据到列表中 |
2 | extend() | 列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表 |
3 | insert() | 指定位置新增数据 |
删除
编号 | 函数 | 作用 |
---|---|---|
1 | del 列表[索引] | 删除列表中的某个元素 |
2 | pop() | 删除指定下标的数据(默认为最后一个),并返回该数据 |
3 | remove() | 移除列表中某个数据的第一个匹配项。 |
4 | clear() | 清空列表,删除列表中的所有元素,返回空列表。 |
修改
编号 | 函数 | 作用 |
---|---|---|
1 | 列表[索引] = 修改后的值 | 修改列表中的某个元素 |
2 | reverse() | 将数据序列进行倒叙排列 |
3 | sort() | 对列表序列进行排序 |
4 | copy() | 对列表序列进行拷贝 |
元组
元组是不可变的
元组特点:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。
编号 | 函数 | 作用 |
---|---|---|
1 | 元组[索引] | 根据索引下标查找元素 |
2 | index() | 查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同 |
3 | count() | 统计某个数据在当前元组出现的次数 |
4 | len() | 统计元组中数据的个数 |
字典
字典特点:
符号为大括号(花括号)
数据为键值对形式出现
各个键值对之间用逗号隔开
语法
# 有数据字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
# 空字典
dict2 = {}
dict3 = dict()
添加
字典为可变类型
注:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
字典序列[key] = value
----------------------------------------------------------
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
dict1['name'] = 'Rose'
# 结果:{'name': 'Rose', 'age': 20, 'gender': 'male'}
print(dict1)
dict1['id'] = 110
# {'name': 'Rose', 'age': 20, 'gender': 'male', 'id': 110}
print(dict1)
查询
字典序列.get(key, 默认值)
如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
print(dict1.get('name')) # Tom
print(dict1.get('id', 110)) # 110
print(dict1.get('id')) # None
遍历
遍历字典的key
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
for key in dict1.keys():
print(key)
遍历字典的value
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
for value in dict1.values():
print(value)
遍历字典的元素
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
for item in dict1.items():
print(item)
遍历字典的键值对
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
for key, value in dict1.items():
print(f'{key} = {value}')
集合
集合(set)是一个无序的不重复元素序列。
集合里边的元素是不可重复的并且集合内的元素还是无序的。
创建
创建集合使用{}
或set()
, 但是如果要创建空集合只能使用set()
,因为{}
用来创建空字典。
s1 = {10, 20, 30, 40, 50}
print(s1)
s2 = {10, 30, 20, 10, 30, 40, 30, 50}
print(s2)
s3 = set('abcdefg')
print(s3)
s4 = set()
print(type(s4)) # set
s5 = {}
print(type(s5)) # dict
增加
s1 = {10, 20}
s1.add(100)
s1.add(10)
print(s1) # 结果: {100, 10, 20}
修改
s1 = {10, 20}
# 结果:s1.update(100) # 报错
s1.update([100, 200])
s1.update('abc')
print(s1)
删除
☆ 删除
① remove()方法:删除集合中的指定数据,如果数据不存在则报错。
② discard()方法:删除集合中的指定数据,如果数据不存在也不会报错。
s1 = {10, 20}
s1.remove(10)
print(s1)
s1.remove(10) # 报错
s1.discard(10) # 不报错
print(s1)
③ pop()方法:随机删除集合中的某个数据,并返回这个数据。
s1 = {10, 20, 30, 40, 50}
del_num = s1.pop()
print(del_num)
print(s1)
查询
☆ 查询
.① in:判断数据在集合序列
② not in:判断数据不在集合序列
s1 = {10, 20, 30, 40, 50}
print(10 in s1)
print(10 not in s1)
数据序列的公共方法
运算符 | 描述 | 支持的容器类型 |
---|---|---|
+ | 合并 | 字符串、列表、元组 |
* | 复制 | 字符串、列表、元组 |
in | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 元素是否不存在 | 字符串、列表、元组、字典 |



in与not in

编号 | 函数 | 描述 |
---|---|---|
1 | len() | 计算容器中元素个数 |
2 | del 或 del() | 删除 |
3 | max() | 返回容器中元素最大值 |
4 | min() | 返回容器中元素最小值 |
5 | range(start, end, step) | 生成从start到end的数字,步长为 step,供for循环使用 |
6 | enumerate() | 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。 |
容器类型转换
tuple()方法:将某个序列转换成元组
list1 = [10, 20, 30, 40, 50, 20]
s1 = {100, 200, 300, 400, 500}
print(tuple(list1))
print(tuple(s1))
list()方法:将某个序列转换成列表
t1 = ('a', 'b', 'c', 'd', 'e')
s1 = {100, 200, 300, 400, 500}
print(list(t1))
print(list(s1))
set()方法
set()方法:将某个序列转换成集合(但是要注意两件事 =>
① 集合可以快速完成列表去重
② 集合不支持下标)
list1 = [10, 20, 30, 40, 50, 20]
t1 = ('a', 'b', 'c', 'd', 'e')
print(set(list1))
print(set(t1))