x = "Foo 890 bar *()"
如何获取小写的内容,包括将
"*()"
“未移位”回890
?所需结果:foo 890 bar 890
不需要的:
x.lower() => "foo 890 bar *()"
最佳答案
取消移位取决于键盘布局。这不是通用映射。您可以对其中一个进行硬编码。
unshift = {
'!': '1', '@': '2', '#': '3', '$': '4', '%': '5',
'^': '6', '&': '7', '*': '8', '(': '9', ')': '0',
}
x = ''.join(unshift.get(c, c.lower()) for c in x)
编写该映射的另一种更紧凑的方法是:
unshift = dict(zip('!@#$%^&*()', '1234567890'))