Python——数据容器字符串,集合,字典

字符串

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

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

字符串的下标

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

  • 从前向后,下标从0开始
  • 从后向前,下标从-1开始

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

  • 修改指定下标的字符 (如:字符串[0] = “a”)
  • 移除特定下标的字符 (如:del 字符串[0]、字符串.remove()、字符串.pop()等)
  • 追加字符等 (如:字符串.append())

均无法完成。如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改

字符串的常用操作

通过下标索引取值

my_str = "wananliushisan"
# 通过下标索引取值
value = my_str[2]
value2 = my_str[-16]
print(f"从字符串{
     my_str}取下标为2的元素,。值是:{
     value},取下标为-16的元素。值是:{
     value2}")

# my_str[2] = "H"


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

value = my_str.index("and")
print(f"在字符串{
     my_str}中查找and,其起始下标是:{
     value}")

replace方法

语法:字符串.replace(字符串1,字符串2)
功能:将字符串内的全部:字符串1,替换为字符串2
注意:不是修改字符串本身,而是得到了一个新字符串

# replace方法
my_str = "wananliushisan"
new_my_str = my_str.replace("wan", "zao")
print(f"将字符串{
     my_str},进行替换后得到:{
     new_my_str}")

split方法

语法:字符串.split(分隔符字符串)
功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
注意:字符串本身不变,而是得到了一个列表对象

# split方法
my_str = "hello ni hao liu shi san"
my_str_list = my_str.split(" ")
print(f"将字符串{
     my_str}进行split切分后得到:{
     my_str_list}, 类型是:{
     type(my_str_list)}")

strip方法

# strip方法
my_str = "  wananliushisan  "
new_my_str = my_str.strip() # 不传入参数,去除首尾空格
print(f"字符串{
     my_str}被strip后,结果:{
     new_my_str}")

my_str = "12iwananliushisan21"
new_my_str = my_str.strip("12")
print(f"字符串{
     my_str}被strip('12')后,结果:{
     new_my_str}")

统计

# 统计字符串中某字符串的出现次数, count
my_str = "wananliushisan"
count = my_str.count("an")
print(f"字符串{
     my_str}中an出现的次数是:{
     count}")
# 统计字符串的长度, len()
num = len(my_str)
print(f"字符串{
     my_str}的长度是:{
     num}")
字符串的特点
  • 只可以存储字符串
  • 长度任意(取决于内存大小)
  • 支持下标索引
  • 允许重复字符串存在
  • 不可以修改(增加或删除元素等)
  • 支持for循环
序列和切片
序列

序列是指:内容连续、有序,可使用下标索引的一类数据容器
列表、元组、字符串,均可以可以视为序列。

序列的常用操作 - 切片

序列支持切片,即:列表、元组、字符串,均支持进行切片操作
切片:从一个序列中,取出一个子序列

语法:序列[起始下标:结束下标:步长]

表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:

  • 起始下标表示从何处开始,可以留空,留空视作从头开始

  • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾

  • 步长表示,依次取元素的间隔

    • 步长1表示,一个个取元素
    • 步长2表示,每次跳过1个元素取
    • 步长N表示,每次跳过N-1个元素取
    • 步长为负数表示,反向取&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晚安刘十三

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

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

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

打赏作者

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

抵扣说明:

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

余额充值