Swap case of letters in string input parameter [closed]

寵の児 提交于 2019-12-21 05:04:51

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!