问题
I would like to write a function in Python that takes a string which has lower and upper case letters as a parameter and converts upper case letters to lower case, and lower case letters to upper case.
For example:
>>> func('DDDddddd')
'dddDDDDD'
I want to do it with strings but I couldn't figure out how.
回答1:
EDIT - Way simpler than my original answer, and supports both ASCII and unicode. Thanks commenters.
a = 'aBcD'
a.swapcase()
>> AbCd
Original answer - disregard
a = 'aBcD'
''.join(map(str.swapcase, a))
>> AbCd
This will map the str.swapcase()
function to each element of the string a
, swapping the case of each character and returning an list of characters.
''.join()
will join each character in the list into a new string.
回答2:
You should look into string.maketrans
to create a translation table that could be used with str.translate
. Other constants which will probably be useful are string.ascii_lowercase
and string.ascii_uppercase
.
来源:https://stackoverflow.com/questions/13417816/swap-case-of-letters-in-string-input-parameter