有很多介绍Python中各种很酷的功能(如变量拆包、偏函数、枚举可迭代对象)的文章,但说到Python时,还有很多东西可以谈论,这里我将尝试展示我所知道和使用的一些特性,我还没有在其他地方看到有人提到过它们。我们开始吧。
清理字符串输入
对用户输入进行清理的问题几乎适用于您编写的所有程序。通常情况下,将字符转换为小写或大写就足够了,有时您可以使用Regex来完成这项工作,但对于复杂的情况来说,可能有更好的方法:
在本例中,您可以看到空白字符“\\n”和“\\t”已被单个空格替换,而“\\r”已被完全删除。这是一个简单的例子,但是我们可以更进一步,使用unicodedata包和它的combining()函数来生成并进行映射,从而生成更大的重新映射表,我们可以使用它来删除字符串中的所有重音。
对迭代器进行切片
如果您尝试对一个迭代器进行切片,您会得到一个TypeError,这说明生成器对象是不可下标访问的,但有一个简单的解决方案可以解决这个问题: