Python 字符串输入参数中字母的交换大小写

Python 字符串输入参数中字母的交换大小写,python,uppercase,lowercase,Python,Uppercase,Lowercase,我想用Python编写一个函数,该函数将具有小写和大写字母的字符串作为参数,并将大写字母转换为小写,将小写字母转换为大写 例如: >>> func('DDDddddd') 'dddDDDDD' 我想使用字符串,但我不知道如何使用。您应该查看string.maketrans以创建可与str.translate一起使用的翻译表。其他可能有用的常量是string.ascii\u小写和string.ascii\u大写编辑——比我原来的答案简单得多,并且支持ascii和unicode。

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

例如:

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

我想使用字符串,但我不知道如何使用。

您应该查看
string.maketrans
以创建可与
str.translate
一起使用的翻译表。其他可能有用的常量是
string.ascii\u小写
string.ascii\u大写
编辑——比我原来的答案简单得多,并且支持ascii和unicode。谢谢评论

a = 'aBcD'
a.swapcase()
>> AbCd
原始答案-忽略

a = 'aBcD'
''.join(map(str.swapcase, a))
>> AbCd
这将把
str.swapcase()
函数映射到字符串
a
的每个元素,交换每个字符的大小写并返回字符列表


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

欢迎使用堆栈溢出!看起来你想让我们为你写些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是,包括您迄今为止编写的代码、示例输入(如果有)、预期输出和实际获得的输出(控制台输出、堆栈跟踪、编译器错误——任何适用的)。您提供的详细信息越多,您可能收到的答案就越多。我曾尝试使用x.islower()或x.lower()进行此操作,但它打印的是全大写或全小写。İ想从上到下,从下到下upper@user1829771你也可以那样做。您只需要构建一个列表,然后使用
str.join
将其连接起来。e、 加入(['a','b','c'])产生
'abc'
学习很有趣!我从你的回答@mgilson中学到了很多python的精妙之处,所以我很高兴回报你。为什么要处理单个角色<代码>'aBcD'.swapcase()就足够了。如果有
str.swapcase
-为什么不干脆
'Ab'.swapcase()
-d0h-被史蒂夫打败20秒:)?哇,我在想什么呢。谢谢各位。