字符串的下标和切片

字符串介绍

1、字符串在内存中的存储

2、字符串的加法

3、字符串的格式化

1. 下标索引

所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间

  • 字符串中"下标"的使用

列表与元组支持下标索引好理解,字符串实际上就是字符的数组,所以也支持下标索引。

如果有字符串:name = 'abcdef',在内存中的实际存储如下:


如果想取出部分字符,那么可以通过下标的方法,(注意python中下标从 0 开始)

name = 'abcdef'        

print(name[0])   

print(name[1])   

print(name[-2])

2. 切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

切片的语法:[起始:结束:步长]

步长:表示下标变化的规律。

注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。

我们以字符串为例讲解。

如果取出一部分,则可以在中括号[]中,使用:

name = 'abcdef'     

print(name[0:3]) # 取 下标0~2 的字符

name = 'abcdef'     

print(name[0:5]) # 取 下标为0~4 的字符

name = 'abcdef'     

print(name[3:5]) # 取 下标为3、4 的字符

name = 'abcdef'     

print(name[2:]) # 取 下标为2开始到最后的字符

name = 'abcdef'     

print(name[1:-1]) # 取 下标为1开始到倒数第2个之间的字符

>>> a = "abcdef" 

>>> a[:3

'abc' 

>>> a[::2

'ace' 

>>>a[5:1:2

'' 

>>>a[1:5:2

'bd

>>> a[::-2

'fdb' 

>>> a[5:1:-2

'fd'

想一想

  • (面试题)给定一个字符串aStr, 请反转字符串

方法一:

a='helloworld'

b=a[::-1]

print(b)


方法二:

str='abcdefghijkl'

list=[]

for in str:

   list.append(i)

list.reverse()

print(''.join(list))


  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Python中,可以使用字符串下标来查询特定位置的字符。根据规则,字符串下标从0开始计数,正向顺序从左到右,逆向顺序从右到左。例如,对于字符串s="Python",s\[0\]表示第一个字符P,s\[1\]表示第二个字符y,以此类推。同时,可以使用负数下标来从右向左查询字符,例如s\[-1\]表示最后一个字符n,s\[-2\]表示倒数第二个字符o,以此类推。\[1\]所以,如果要查询字符串s中的多个字符,可以使用多个下标来获取相应的字符。例如,s\[0\],s\[1\],s\[2\],s\[3\],s\[4\],s\[5\]会分别返回P,y,t,h,o,n。\[3\]另外,还可以使用切片来获取字符串的一部分。例如,s\[0:-1\]会返回"Pytho",表示从第一个字符到倒数第二个字符之间的子串。s\[0:-2\]会返回"Pyth",表示从第一个字符到倒数第三个字符之间的子串。\[3\] #### 引用[.reference_title] - *1* *3* [Python中的字符串下标](https://blog.csdn.net/m0_37592063/article/details/127278764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python字符串下标(索引)](https://blog.csdn.net/weixin_48728769/article/details/123819536)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值