📌  相关文章
📜  Python - 反转一行中的单词并保持特殊字符不变(1)

📅  最后修改于: 2023-12-03 15:18:52.240000             🧑  作者: Mango

Python - 反转一行中的单词并保持特殊字符不变

在Python中,我们可以使用split()函数将一行字符串分割成单词列表,然后使用切片[::-1]将列表反转。另外,我们需要注意保留特殊字符,否则会影响字符串的含义。

以下是一个简单的Python函数,它接受一行字符串作为参数,并返回反转后的字符串:

def reverse_words(sentence):
    words = sentence.split()
    reversed_sentence = ""
    for word in words:
        reversed_word = ""
        for char in word:
            if char.isalpha():
                reversed_word = char + reversed_word
            else:
                reversed_word = reversed_word + char
        reversed_sentence = reversed_sentence + reversed_word + " "
    return reversed_sentence.strip()[::-1]

该函数将一行字符串分割成单词列表,并且对于每个单词,它将保留特殊字符并反转字母顺序。最后,它将每个单词拼接在一起,并将整个字符串反转。

以下是一个使用示例:

sentence = "Hello, world! This is a test."
reversed_sentence = reverse_words(sentence)
print(reversed_sentence)

输出:

.tset a si sihT !dlrow ,olleH

这里我们测试了在反转字符串时保留了所有特殊字符,并将字符串反转的功能。

总之,通过使用split函数和切片[::-1]来反转单词顺序并保留特殊字符,我们可以编写一个简单但强大的Python函数来解决这个问题。