目录
数据容器:str(字符串)
字符串是字符的容器,一个字符串可以存放任意数量的字符。
和其他容器:列表、元组一样,字符串也可以通过下标进行访问。
从前向后,下标从0开始
从后向前,下标从-1开始
示例:
my_str = "I am ergou"
# 通过下标索引值
value = my_str[2]
value2 = my_str[-5]
print(f"从字符串{
my_str}取下标为2的元素,值是{
value},取下标为-5的元素,值是{
value2}")
运行结果:
从字符串I am ergou取下标为2的元素,值是a,取下标为-5的元素,值是e
同元组一样,字符串是一个:无法修改的数据容器。
所以:
修改指定下标的字符 (如:字符串[0] = “a”)
移除特定下标的字符 (如:del 字符串[0]、字符串.remove()、字符串.pop()等)
追加字符等 (如:字符串.append())
均无法完成。
如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改的。
字符串的常用操作
查找特定字符串的下标索引值
语法:字符串.index(字符串)
字符串的替换
语法:字符串.replace(字符串1,字符串2)
功能:将字符串内的全部:字符串1,替换为字符串2。
注意:不是修改字符串本身,而是得到了一个新字符串。
字符串的分割
语法:字符串.split(分隔符字符串)
功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中。
注意:字符串本身不变,而是得到了一个列表对象。
字符串的规整操作(去前后空格)
语法:字符串.strip()
字符串的规整操作(去前后指定的字符串)
语法:字符串.strip(字符串)
注意:传入12,则1和2都会被移除,是按照单个字符。
统计字符串中某字符串的出现次数
语法:字符串.count(字符串)
统计字符串的长度
语法:len(字符串)
注意:
1、数字(1、2、3…)
2、字母(abcd、ABCD等)
3、符号(空格、!、@、#、$等)
4、中文
均算作1个字符。
字符串常用操作汇总
编号 | 操作 | 说明 |
---|---|---|
1 | 字符串[下标] | 根据下标索引取出特定位置字符 |
2 | 字符串.index(字符串) | 查找给定字符的第一个匹配项的下标 |
3 | 字符串.replace(字符串1, 字符串2) | 将字符串内的全部字符串1,替换为字符串2,不会修改原字符串,而是得到一个新的 |
4 | 字符串.split(字符串) | 按照给定字符串,对字符串进行分隔不会修改原字符串,而是得到一个新的列表 |
5 | 字符串.strip() 字符串.strip(字符串) |
移除首尾的空格和换行符或指定字符串 |
6 | 字符串.count(字符串) | 统计字符串内某字符串的出现次数 |
7 | len(字符串) | 统计字符串的字符个数 |
示例:
my_str = "I am ergou"
# index方法
value3 = my_str.index("am")
print(f"在字符串{
my_str}查找am,其下标是{
value3}")
# replace方法
new_my_str = my_str.replace("ergou", "二狗")
print(f"将字符串{
my_str},进行替换后得到:{
new_my_str}")
# split方法
my_str = "I am ergou"
my_str_list = my_str.split(" ") # 以空格进行分割
print(f"将字符串{
my_str}进行split切分后得到:{
my_str_list},类型是:{
type(my_str_list)}")
# strip方法
my_str = " I am ergou "
new_my_str = my_str.strip() # 不传入参数,去除首位空格
print(f"字符串{
my_str}被strip后,结果:{
new_my_str}")
my_str = "12I am ergou21"
new_my_str = my_str.strip("12")
print(f"字符串{
my_str}被strip('12')后,结果:{
new_my_str}")
# 统计字符串中某字符串的出现次数,count
my_str = "I am ergou am"
count = my_str.count("am")
print(f"字符串{
my_str}中am的出现次数是:{
count}")
# 统计字符串长度,len()
num = len(my_str)
print(f"字符串{
my_str}的长度是{
num}")
运行结果:
在字符串I am ergou查找am,其下标是2
将字符串I am ergou,进行替换后得到:I am 二狗
将字符串I am ergou进行split切分后得到:[‘I’, ‘am’, ‘ergou’],类型是:<class ‘list’>
字符串 I am ergou 被strip后,结果:I am ergou
字符串12I am ergou21被strip(‘12’)后,结果:I am ergou
字符串I am ergou am中am的出现次数是:2
字符串I am ergou am的长度是13
字符串的遍历
同列表、元组一样,字符串也支持while循环和for循环进行遍历。
while循环:
my_str = "ergou"
index = 0
while index < len(my_str):
print(my_str[index])
index += 1
运行结果:
e
r
g
o
u
for循环:
my_str = "二狗"
for i in my_str:
print(i)
运行结果:
二
狗
字符串的特点
作为数据容器,字符串有如下特点:
①只可以存储字符串
②长度任意(取决于内存大小)
③支持下标索引
④允许重复字符串存在
⑤不可以修改(增加或删除元素等)
⑥支持for循环
基本和列表、元组相同,
不同于列表和元组的在于:字符串容器可以容纳的类型是单一的,只能是字符串类型。
不同于列表,相同于元组的在于:字符串不可修改。