面试题答案
一键面试- 获取'world'的切片操作及解释
- 代码:
s = 'hello world'
,切片操作s[-5:]
可以得到'world'
。 - 负数索引值含义:在Python字符串中,负数索引表示从字符串的末尾开始计数,
-1
表示最后一个字符,-2
表示倒数第二个字符,以此类推。在s[-5:]
中,-5
表示从字符串末尾开始数第5个字符,:
表示从这个位置开始截取到字符串末尾,所以能得到'world'
。
- 代码:
- 从后往前每隔一个字符取一个,直到字符串的前半部分(不包含中间字符,如果总长度为奇数)的实现及索引计算逻辑
- 代码实现:
s = 'hello world'
length = len(s)
mid = length // 2 if length % 2 == 0 else length // 2 - 1
result = s[-1:mid - 1:-2]
print(result)
- 索引计算逻辑:
- 首先计算字符串的长度
length
。 - 然后确定截取的终点位置
mid
,如果字符串长度length
是偶数,mid
为length // 2
;如果是奇数,mid
为length // 2 - 1
,这样可以保证不包含中间字符。 s[-1:mid - 1:-2]
中,-1
是从字符串末尾开始,也就是最后一个字符位置,mid - 1
是截取的终点位置(不包含),-2
表示步长为 -2,即从后往前每隔一个字符取一个。
- 首先计算字符串的长度