下面是“python3翻转字符串里的单词点的实现方法”的完整攻略。
问题描述
给定一个字符串,包含若干个单词和若干个空格和一个点号“.”,请将其单词以及点号顺序翻转,但单词内部字符顺序不变。例如,给定字符串为 "i am a student.",翻转后的结果应该是 "student a am i."。
解决方案
我们可以按照以下步骤来实现字符串翻转的过程:
- 原字符串去掉首尾空格,得到一个新字符串;
- 按照空格对新字符串进行分割;
- 反转得到的单词列表,并将其中的每个单词反转;
- 将每个单词拼接起来,再加上点号。
其中,第二步和第三步可以通过 Python 内置函数 split
和列表推导式来实现。具体代码如下:
def reverse_words(s: str) -> str:
# 去掉首尾空格
s = s.strip()
# 分割字符串,反转单词
words = [word[::-1] for word in s.split()]
# 拼接单词,添加点号
return " ".join(words)[::-1] + "."
示例说明
示例一
输入:
s = "i am a student."
输出:
"student a am i."
解释:
reverse_words(s) # 返回 "student a am i."
示例二
输入:
s = "hello world"
输出:
"dlrow olleh."
解释:
reverse_words(s + ".") # 返回 "dlrow olleh."
其中reverse_words(s + ".")
等价于reverse_words("hello world.")
,因为函数内部会去掉首尾空格并添加点号。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3翻转字符串里的单词点的实现方法 - Python技术站