在 Python 中,可以通过多种方式将字符串中的大写字母转换为小写字母。以下是几种常用的方法:
一、使用内置方法 lower()
(最简单)
Python 字符串对象自带 lower()
方法,可直接将所有大写字母转换为小写,其他字符保持不变。
示例代码:
s = "Hello, WORLD!"
result = s.lower()
print(result) # 输出: "hello, world!"
二、手动遍历 + ASCII 码转换
可以遍历字符串中的每个字符,利用 ASCII 码值(ord()
和 chr()
)手动转换大写字母(A-Z 的 ASCII 范围是 65-90)。
示例代码:
s = "Hello, WORLD!"
result = ""
for char in s:
if 65 <= ord(char) <= 90: # 检查是否为大写字母
result += chr(ord(char) + 32) # 大写转小写(ASCII 差值为 32)
else:
result += char
print(result) # 输出: "hello, world!"
三、使用 str.translate()
(性能优化)
通过 str.maketrans()
创建转换表,再用 translate()
方法批量替换字符,适合处理大量文本。
示例代码:
s = "Hello, WORLD!"
# 创建转换表:将 A-Z 映射到 a-z
trans_table = str.maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'abcdefghijklmnopqrstuvwxyz')
result = s.translate(trans_table)
print(result) # 输出: "hello, world!"
四、使用列表推导式(简洁写法)
结合 chr()
和 ord()
,用列表推导式生成新字符串。
示例代码:
s = "Hello, WORLD!"
result = ''.join(
chr(ord(c) + 32) if 'A' <= c <= 'Z' else c
for c in s
)
print(result) # 输出: "hello, world!"
总结
方法 | 优点 | 适用场景 |
---|---|---|
s.lower() | 简洁、高效 | 日常开发(推荐) |
手动 ASCII 转换 | 灵活控制转换规则 | 自定义转换逻辑 |
str.translate() | 高性能 | 处理大量文本 |
列表推导式 | 一行代码实现 | 追求代码简洁性 |