5

我想在 Python 中编写一个函数,该函数将具有大小写字母的字符串作为参数,并将大写字母转换为小写字母,将小写字母转换为大写字母。

例如:

>>> func('DDDddddd')
'dddDDDDD'

我想用字符串来做,但我不知道怎么做。

4

2 回答 2

25

编辑- 比我原来的答案简单得多,并且支持 ASCII 和 unicode。感谢评论者。

a = 'aBcD'
a.swapcase()
>> AbCd

原始答案 - 无视

a = 'aBcD'
''.join(map(str.swapcase, a))
>> AbCd

这会将str.swapcase()函数映射到 string 的每个元素a,交换每个字符的大小写并返回一个字符列表。

''.join()将列表中的每个字符连接成一个新字符串。

于 2012-11-16T13:55:16.320 回答
1

您应该考虑string.maketrans创建一个可以与str.translate. 其他可能有用的常数是string.ascii_lowercasestring.ascii_uppercase

于 2012-11-16T13:47:31.323 回答