字符串操作
字符串中“下标”的使用


字符串的遍历
依次访问字符串中的每一个字符
方式一(推荐):
for c in s:
print(c)
方式二:
字符串的长度 = len(字符串)
for i in range(len(字符串)):
print(s[i])
方式三:
i = 0
while i < len(字符串):
print(s[i])
i += 1
验证:

字符串切片
切片作用:通过指定下标,可以获取字符串中的某一段字符
格式:
字符串或字符串变量[起始下标:结束下标:步长]
注意:选取的区间从“起始”位开始,到“结束”位前一位结束(不包含结束位本身),步长表示选取间隔

起始下标和结束下标可以省略

单侧切:左取右不取

可以单独设定步长

步长可以取负值,表示从右向左切(此时要求起始值大于终值),但是下标还是不变的

字符串逆序(重点):

后续为了简化代码,可能会直接写成"string"[::-1]
字符串常用方法
a.查找替换 统计
find() 掌握 注意: 找不到子串时,返回-1
S.find(sub[, start[, end]]) -> int
返回字符串 S 中第一次出现子字符串 sub 的最低索引,
使得 sub 被包含在 S[start:end] 范围内。可选的参数 start 和 end 按照切片符号进行解释。
如果未找到,则返回 -1。

index() 了解,类似于find()
在 Python 中,index()
是一个用于查找元素位置的内置方法,但它不是一个独立的内置函数,而是列表和其他一些序列类型(如字符串和元组)的方法。它用于返回指定元素在序列中第一次出现的索引位置。如果元素不在序列中,会引发 ValueError
错误。

rfind() 了解
rindex() 了解
从右向左找,但是下标是从左向右排列的


replace() 掌握 默认全部替换

count() 掌握

b. 分割 连接
split() 掌握 输出的是列表,需要注意有分隔符,且每个都会生效

可以选择分割次数

# 如果在分割字符串时,需要使用任何空白进行分割,那么参数中,什么也不需要写

splitlines() 理解 注意只识别换行为分隔符

partition() 了解 只会分割成三部分,且输出一个元组
rpartition() 了解
按分割条件将字符串分割成三部分,分割条件前,分割条件,分割条件后
join() 掌握 使用当前字符串连接参数中的每个元素

join()
是字符串的方法,用于将 可迭代对象(如列表、元组) 中的元素拼接成一个字符串。
基本语法
str.join(iterable)
str
:作为分隔符的字符串(如","
、" "
等)。iterable
:可迭代对象(如列表、元组等),其中的元素必须是字符串类型,否则会报错。
展示结果:将 iterable
中的每个元素用分隔符 str
拼接成一个整体字符串。分隔符 str
插入在每两个元素之间。
1. 基础用法
fruits = ['苹果', '香蕉', '橘子']
# 用逗号拼接
result = ', '.join(fruits)
print(result) # 输出:苹果, 香蕉, 橘子
# 用空格拼接
result = ' '.join(fruits)
print(result) # 输出:苹果 香蕉 橘子
2. 使用不同的分隔符
names = ['Alice', 'Bob', 'Charlie']
# 使用竖线
result = ' | '.join(names)
print(result) # 输出:Alice | Bob | Charlie
# 使用换行符
result = '\n'.join(names)
print(result)
# 输出:
# Alice
# Bob
# Charlie
3. 混合类型(需转换为字符串)
如果 iterable
中包含非字符串元素,需要先转换为字符串,否则会报错:
# 数字列表
numbers = [1, 2, 3]
# 转换为字符串再拼接
result = ', '.join(map(str, numbers))
print(result) # 输出:1, 2, 3
4. 空列表
对于空的可迭代对象,join()
会直接返回空字符串:
empty_list = []
result = ', '.join(empty_list)
print(result) # 输出:空字符串
5. 拼接元组
join()
同样适用于元组:
colors = ('红色', '绿色', '蓝色')
result = ' -> '.join(colors)
print(result) # 输出:红色 -> 绿色 -> 蓝色
c. 判断
startswith() 判断是否以指定字符串开头 (掌握)

endswith() 判断是否以指定字符串结束 (掌握)

isupper() 判断是不是大写字符 (理解)
islower() 判断是不是小写字符 (理解)

isdigit() 判断是不是数字字符 (理解)

isalpha() 判断是不是字母 (理解)

isalnum() 判断是不是字母或数字字符 (理解)

isspace() 判断是不是空白字符,包含空格,换行符\n,制表符\t (理解)注意''空字符串不是空白字符

d. 转换 (理解)
upper() 转换成大写
lower() 转换成小写
title() 将每个单词首字符转换大写
capitalize() 将第一个单词的首字符转换成大写

e. 对齐 (理解)
center() 按给定宽度居中显示
rjust() 右对齐
ljust() 左对齐

指定填充

f. 去除空白(理解)
strip() 去除两端空白
lstrip() 去除左侧空白
rstrip() 去除右侧空白

发布者:LJH,转发请注明出处:https://www.ljh.cool/41595.html