我正在学习巨蟒并进行练习:
串。创建一个函数,该函数将返回另一个类似于输入字符串的字符串,但大小写颠倒。例如,输入“mr.ed”将导致输出字符串“mr.ed”。
我的代码是:

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'

关于python - 更好的方法来反转字符串的情况,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26385823/

10-12 21:57