030. 编写一个函数,实现字符串的反转

在 Python 中,可以通过多种方式实现字符串的反转。

示例代码

def reverse_string(s):
    """
    反转字符串 s。

    参数:
        s (str): 要反转的字符串。

    返回:
        str: 反转后的字符串。
    """
    return s[::-1]

# 测试代码
original_string = "Hello, World!"
reversed_string = reverse_string(original_string)

print("原始字符串:", original_string)
print("反转后的字符串:", reversed_string)

运行结果

运行上述代码后,输出如下:

原始字符串: Hello, World!
反转后的字符串: !dlroW ,olleH

代码解释

切片操作

  • 使用切片操作 s[::-1] 来反转字符串。切片操作的语法是 s[start:stop:step],其中:

  • start 是起始索引(默认为 0)。

  • stop 是结束索引(默认为字符串长度)。

  • step 是步长(默认为 1)。如果步长为 -1,表示从字符串的末尾开始向前取值,从而实现反转。

返回结果

  • 函数返回反转后的字符串。

扩展:其他反转方法

方法 2:使用 reversed() 函数

reversed() 函数可以返回一个反转后的迭代器,可以通过 join() 方法将其转换为字符串。

def reverse_string(s):
    return ''.join(reversed(s))

# 测试代码
original_string = "Hello, World!"
reversed_string = reverse_string(original_string)

print("原始字符串:", original_string)
print("反转后的字符串:", reversed_string)

方法 3:使用循环

可以通过循环将字符串中的字符逐个添加到新字符串的前面,从而实现反转。

def reverse_string(s):
    reversed_s = ""
    for char in s:
        reversed_s = char + reversed_s
    return reversed_s

# 测试代码
original_string = "Hello, World!"
reversed_string = reverse_string(original_string)

print("原始字符串:", original_string)
print("反转后的字符串:", reversed_string)

注意事项

  1. 切片操作的效率:切片操作 s[::-1] 是 Python 中反转字符串的最简洁和高效的方式。
  2. reversed() 函数reversed() 函数返回一个迭代器,需要通过 join() 方法将其转换为字符串。
  3. 循环方法:使用循环的方法虽然直观,但效率较低,因为字符串连接操作在 Python 中相对较慢。

视频讲解

BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)