介绍
Python 字符串数据类型是由一个或多个字符组成的序列,可以包含字母、数字、空格字符或符号。由于字符串是一个序列,我们可以通过索引和切片的方式访问它,就像访问其他基于序列的数据类型一样。
本教程将指导您通过索引访问字符串,通过字符序列切片字符串,并介绍一些计数和字符定位方法。
如何索引字符串
与列表数据类型一样,其中的项目对应一个索引号,字符串的每个字符也对应一个索引号,从索引号0开始。
对于字符串 Sammy Shark!
,索引分布如下:
S | a | m | m | y | S | h | a | r | k | ! | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
可以看到,第一个 S
从索引0开始,字符串以 !
符号的索引11结束。
我们还注意到 Sammy
和 Shark
之间的空格字符也对应着它自己的索引号。在这种情况下,与空格相关联的索引号为5。
叹号 (!
) 也有与之相关联的索引号。任何其他符号或标点符号,如 *#$&.;?
,也是字符,并与它自己的索引号相关联。
Python字符串中的每个字符都有一个相应的索引号,这使得我们可以以与其他序列数据类型相同的方式访问和操作字符串。
通过正索引号访问字符
通过引用索引号,我们可以隔离字符串中的一个字符。我们通过将索引号放在方括号中来实现这一点。让我们声明一个字符串,打印它,并调用方括号中的索引号:
ss = "Sammy Shark!"
print(ss[4])
[secondary_label Output]
y
当我们引用字符串 ss = "Sammy Shark!"
的索引号4时,Python将返回在该位置的字符。由于字母 y
在字符串中的索引号为4,因此当我们打印 ss[4]
时,输出将是 y
。
索引号允许我们访问字符串中的特定字符。
通过负索引号访问字符
如果我们有一个很长的字符串,我们想要定位末尾的某个项目,我们还可以从字符串的末尾开始倒数,从索引号 -1
开始。
对于相同的字符串 Sammy Shark!
,负索引号的分布如下:
S | a | m | m | y | S | h | a | r | k | ! | |
---|---|---|---|---|---|---|---|---|---|---|---|
-12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
通过使用负索引号,我们可以打印出字符 r
,通过引用其在索引 -3 处的位置,如下:
print(ss[-3])
r
使用负索引号对于隔离长字符串末尾的单个字符非常有优势。
切片字符串
我们还可以从字符串中调用一系列字符。假设我们只想打印单词 Shark
。我们可以通过创建一个切片来实现,切片是原始字符串中的一系列字符。使用切片,我们可以通过创建由冒号 [x:y]
分隔的索引号范围,调用多个字符值:
print(ss