Python学习——【4.3】数据容器:str字符串

【4.3】数据容器:str字符串

一、再识字符串

  虽然之前已经学习过字符串,但此处我们需要以数据容器的视角重新认识一下字符串。

  尽管字符串看起来不像列表、元组那样,一看就是存放了许多数据的容器。但不可否认的是,字符串同样也是数据容器的一员。

  字符串是字符的容器,一个字符串可以存放任意数量的字符。

二、字符串的下标(索引)

  和其他容器,如列表、元组一样,字符串也可以通过下标进行访问。

  1.从前向后,下标从0开始递增;

  2.从后向前,下标从-1开始递减。

# 通过下标获取特定位置字符
name = "zhangsan"
print(name[0])  # z
print(name[-1])  # n

  另外一个方面来说,我们知道列表是可修改的,元组是不可修改的。那么字符串是可修改还是不可修改的呢?

  同元组一样,字符串是一个无法修改的数据容器。

  所以,例如:

  1.修改指定下标的字符,如str[0] = "a"

  2.移除特定下标的字符,如del str[0]、str.remove()、str.pop()

  3.追加字符,如str.append()等操作。

  **均无法完成。**如果必须要做,我们只能去得到一个新字符串,而不能修改老字符串。

三、字符串的常用操作

image-20240922211251000

  • 查找特定字符串的下标索引值
# 语法
字符串.index(字符串)

  示例:

my_str = "A and B"
print(my_str.index("and"))  # 2
  • 字符串的替换
# 语法
字符串.replace(字符串1, 字符串2)

  功能:将字符串内的全部字符串1替换为字符串2

  注意:不是修改字符串本身,而是得到了一个新的字符串。

  示例:

my_str = "A and B and C"
new_my_str = my_str.replace("and", "&")
print(f"将字符串{my_str}进行替换后得到{new_my_str}")  # 将字符串A and B and C进行替换后得到A & B & C

  从上面例子也可看出,我们在输出my_str时,它仍然是老字符串的原本内容,说明老字符串的内容并没有被修改,而只是返回得到了一个新字符串。

  • 字符串的分割
# 语法
字符串.split(分隔符字符串)

  功能:按照分隔符字符串,将字符串划分为多个字符串,并存入列表对象中。

  注意:字符串本身不变,而是得到了一个列表对象

  示例:

my_str = "hello A B C"
my_str_list = my_str.split(" ")
print(f"将字符串{my_str}进行split切分后得到:{my_str_list}")  # 将字符串hello A B C进行split切分后得到:['hello', 'A', 'B', 'C']
  • 字符串的规整操作 — 去前后空格
# 语法
字符串.strip()

  示例:

my_str = "   A and B   "
print(my_str.strip())  # A and B
  • 字符串的规整操作 — 去前后指定字符串
# 语法
字符串.strip(字符串)

  示例:

my_str = "123  A and B  321"
print(my_str.strip("123"))  # "  A and B  "

  注意:传入的虽然是“123”,但其实是按照单个字符,即“1”、“2”、“3”进行移除的,所以“321”也会被移除。

  • 统计字符串中某字符串的出现次数

  示例:

my_str = "A and B and C"
count = my_str.count("and")
print(f"字符串{my_str}中and出现的次数是:{count}")
  • 统计字符串的长度

  示例:

my_str = "A and B and C"
num = len(my_str)
print(num)  # 13

四、字符串的遍历

while循环

my_str = "zhangsan"
index = 0
while index < len(my_str):
    print(my_str[index])
    index += 1

for循环

my_str = "zhangsan"
for i in my_str:
    print(i)

五、字符串的特点

  作为数据容器,字符串有如下特点:

  1.只可以存储字符串;

  2.长度任意(取决于内存大小);

  3.支持下标索引;

  4.允许重复字符串存在;

  5.不可以修改;

  6.支持for循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋秋秋叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值