我想在Python中编写一个函数,它接受一个以大写字母为大写字母的字符串,并将大写字母转换为小写字母,将小写字母转换为大写字母。
例如:
>>> func('DDDddddd')
'dddDDDDD'
我想用字符串来做,但我无法弄清楚如何。
答案 0 :(得分:24)
编辑 - 比我原来的答案简单,并支持ASCII和unicode。谢谢评论者。
a = 'aBcD'
a.swapcase()
>> AbCd
原始答案 - 无视
a = 'aBcD'
''.join(map(str.swapcase, a))
>> AbCd
这会将str.swapcase()
函数映射到字符串a
的每个元素,交换每个字符的大小写并返回字符列表。
''.join()
会将列表中的每个字符加入一个新字符串。
答案 1 :(得分:1)
您应该查看string.maketrans
以创建可与str.translate
一起使用的转换表。其他可能有用的常量是string.ascii_lowercase
和string.ascii_uppercase
。