我正在学习巨蟒并进行练习:
串。创建一个函数,该函数将返回另一个类似于输入字符串的字符串,但大小写颠倒。例如,输入“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/