Python容器 之 字符串--下标和切片

1.下标(索引)

一次获取容器中的一个数据

1, 下标(索引), 是数据在容器(字符串, 列表, 元组)中的位置, 编号

2, 一般来说,使用的是正数下标, 从 0 开始

3, 作用: 可以通过下标来获取具体位置的数据.

4, 语法 容器[下标]

5, Python 中是支持负数下标, -1 表示最后一个位置的数据

str1 = 'abcdefg'

# 需求: 打印输出字符串中的 a 字符
print(str1[0])   # a
print(str1[-7])  # a

# 需求: 打印输出字符串中 最后一个字符(-1)
print(str1[-1])  # g

# 需求: 打印输出 下标为 3 的位置的字符
print(str1[3])   # d

2.切片

一次性获取容器中的多个数据

1,作用:使用切片操作, 可以一次性获取容器中的多个数据多个数据之间存在一定的规律,数据的下标是 等差数列(相邻的两个数字之间的差值是一样的)

2, 语法: 容器[start:end:step]

  •  start 表示开始位置的下标
  • end 表示结束位置的下标,但是 end 所对应的下标位置的数据是不能取到的
  • step 步长,表示的意思就是相邻两个坐标的差值。
  • Eg:start, start+step, start+step*2, ...,end(取不到)
my_str = 'abcdefg'

# 需求1 : 打印字符串中 abc 字符 start 0, end 3, step 1
print(my_str[0:3:1])  # abc
# 1.1 如果步长是 1, 可以省略不写
print(my_str[0:3])  # abc
# 1.2 如果 start 开始位置的下标为 0, 可以不写,但是冒号不能少
print(my_str[:3])  # abc

# 需求 2: 打印字符串中的 efg , start 4, end 7, step 1
print(my_str[4: 7])  # efg
# 2.1 如果取到最后一个字符, end 可以不写,但是冒号不能少
print(my_str[4:])  # efg

# 需求 3: 打印字符串中的 aceg , start 0, end 7(最后), 步长 2
print(my_str[::2])  # aceg

# 练习: cf
print(my_str[2:6:3])  # cf

# 特殊情况, 步长为 -1, 反转(逆序) 字符串
print(my_str[::-1])  # gfedcba
print(my_str[-1:-4:-1])  # gfe
print(my_str[-1:-4:-2])  # ge

总结:

  • 默认步长为1,可以省略不写。
  • 如果步长是1,setp可省略(冒号可省略)
  • 如果开始位置为0,start可省略(冒号不可省略)
  • 如果取到最后一个字符,end可省略(冒号不可省略)
  • 如果步长为负数,则将字符串逆序数(支持正向索引和逆向索引

未完待续。。。 

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

埜玊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值