我们都知道,Python中的字符串可以有两种访问方式:
(1) 正向增,下标为 0 ~ len(s)-1
(2)反向减,下标为 -len(s) ~ -1
#字符串测试
s = '我爱学Python’
print(s[-1])
print(s[len(s)-1])
#发现两者是相同的
print(s[0],s[-len(s)])
#两者也相同
python 中还有一种字符串切片的方式来获得想要的字符串子串,它的标准形式为 s[start:end:step]
其中 start 是开始时的下标,end是结束时的下标,它是左闭右开的。[start,end)
而step是步数,一般为1,所代表的是一个一个取,一般被省略。
当step为正时,代表从前向后取。当step为负时,代表从后往前取。
下面用一道例题解释
#键盘输入一个数,判断是否为回文数
while True:
x = input("请输入一个数:")
s = x[::-1] # 也可写作 s = x[-1:-len(x)-1:-1]
# 重点 : 为什么end是 -len(x)-1 ?
if s == x:
print("这是一个回文数,长度为{}".format(len(x)))
else:
print("这不是一个回文数,长度为{}".format(len(x)))
显然,利用字符串切片的方法比传统的循环判断要更方便