python – 更好的方法来反转字符串的情况

我正在学习python并参加一项练习:

Strings. Create a function that will return another string similar to the input string, but with its case inverted. For example, input of “Mr. Ed” will result in “mR. eD” as the output string.

我的代码是:

name = 'Mr.Ed'
name_list = []

for i in name:
    if i.isupper():
        name_list.append(i.lower())
    elif i.islower():
        name_list.append(i.upper())
    else:
        name_list.append(i)

print ''.join(name_list)

有没有更好的方法来解决它?我的解决方案似乎很奇

你的解决方案非常好.
你不需要三个分支,因为当upper不适用时str.upper()将返回str.

使用生成器表达式,可以缩短为:

>>> name = 'Mr.Ed'
>>> ''.join(c.lower() if c.isupper() else c.upper() for c in name)
'mR.eD'
https://stackoverflow.com/questions/26385823/better-way-to-invert-case-of-string

转载注明原文:python – 更好的方法来反转字符串的情况