📅  最后修改于: 2023-12-03 15:09:21.382000             🧑  作者: Mango
在编程中,经常会需要获取字符串中最后一个单词的长度。下面提供一个简单的代码片段示例以及详细解释。
以下是使用 Python 3 编写的代码示例:
def last_word_length(s: str) -> int:
"""
获取字符串中最后一个单词的长度
:param s: 字符串
:return: 最后一个单词的长度,若无单词则返回 0
"""
# 先删除字符串末尾的空格
s = s.strip()
# 从字符串末尾开始向前查找第一个空格
for i in range(len(s) - 1, -1, -1):
if s[i] == ' ':
# 找到空格,返回最后一个单词的长度
return len(s) - i - 1
# 没有找到空格,说明字符串只有一个单词或无单词
# 返回整个字符串的长度
return len(s)
该代码示例中定义了一个名为 last_word_length
的函数,该函数接受一个字符串参数 s
,并返回字符串中最后一个单词的长度。
函数定义开始的第一行使用了 Python 3 中的类型注解,指定了函数的参数类型和返回值类型。其中,s
参数的类型是 str
,表示一个字符串;而返回值的类型是 int
,表示一个整数。这样可以方便使用者调用函数时正确传递参数,并获取函数的返回值类型,提高代码的可读性和可维护性。
def last_word_length(s: str) -> int:
接下来的第一行代码使用了 Python 3 中的字符串方法 strip()
,将字符串末尾的空格删除。这是为了避免在查找最后一个单词时受到末尾空格的影响。
s = s.strip()
然后使用了 Python 3 中的 range()
函数,从字符串的末尾开始向前查找字符。其中,len(s) - 1
表示字符串末尾字符的下标,-1
表示每次循环递减 1,直到下标为 0。从而实现了从后向前查找的效果。
for i in range(len(s) - 1, -1, -1):
在每次循环中,判断字符串中当前下标对应的字符是否为空格。如果是,则说明找到了最后一个单词的末尾;如果不是,则继续往前查找。
if s[i] == ' ':
如果找到了最后一个单词的末尾,就可以返回其长度。其中,len(s) - i - 1
表示字符串总长度减去最后一个单词的末尾下标再减去 1(因为下标从 0 开始计数),就是最后一个单词的长度。
return len(s) - i - 1
如果在整个字符串中没有找到任何空格,就说明该字符串只有一个单词或无单词。此时可以直接返回整个字符串的长度。
return len(s)
以上是一个简单的获取字符串中最后一个单词长度的代码示例。希望通过本文的介绍,可以帮助更多的程序员快速实现这一功能,并加深对代码中各种语法和细节的理解。