一个小示例告诉你Python语言的优雅之处
比如,我们希望希望检测"一段string是否以特定的字符串结尾?",通常我们使用:
ifneedle.endswith('ly')orneedle.endswith('ed')or needle.endswith('ing')orneedle.endswith('ers'): print('Isvalid') else: print('Invalid')
十分丑陋是吧?如果我们检测变量needle是否是以下特定字符串之一的话,会这样写:
ifneedlein('ly','ed','ing','ers'): print('Isvalid') else: print('Invalid')
但是,我们无法在endswithfunction中使用in,但我们换一种想法,我们需要检查的其实是"一段string的结尾是否是以下字符串的任意一个?",我们会发现python有内部函数any,于是我们的代码可以改为:
ifany([needle.endswith(e)forein('ly','ed','ing','ers')]): print('Isvalid') else: print('Invalid')
相信很多读者在此会不同意我的做法,或者有更好的写法存在.但这已经不重要.我明白你们大多数都会使用类似的写法面对这一相似的问题.我真正的目的其实是展示一下Python的优雅之处.