一个小示例告诉你Python语言的优雅之处

yipeiwu_com6年前Python基础

比如, 我们希望希望检测"一段string是否以特定的字符串结尾?", 通常我们使用:

  if needle.endswith('ly') or needle.endswith('ed') or
    needle.endswith('ing') or needle.endswith('ers'):
    print('Is valid')
  else:
    print('Invalid')

十分丑陋是吧? 如果我们检测变量needle是否是以下特定字符串之一的话, 会这样写:

  if needle in ('ly', 'ed', 'ing', 'ers'):
    print('Is valid')
  else:
    print('Invalid')

但是, 我们无法在 endswith function 中使用 in, 但我们换一种想法, 我们需要检查的其实是"一段string的结尾是否是以下字符串的任意一个?", 我们会发现python有内部函数any, 于是我们的代码可以改为:

  if any([needle.endswith(e) for e in ('ly', 'ed', 'ing', 'ers')]):
    print('Is valid')
  else:
    print('Invalid')

相信很多读者在此会不同意我的做法, 或者有更好的写法存在. 但这已经不重要. 我明白你们大多数都会使用类似的写法面对这一相似的问题. 我真正的目的其实是展示一下Python的优雅之处.

相关文章

python集合的创建、添加及删除操作示例

本文实例讲述了python集合的创建、添加及删除操作。分享给大家供大家参考,具体如下: 集合时无序可变的序列,集合中的元素放在{}内,集合中的元素具有唯一性。 集合中只能包含数字、字符串...

Python箱型图处理离群点的例子

Python箱型图处理离群点的例子

首先我们简单地区分一下离群点(outlier)以及异常值(anomaly): 离群点: 异常值: 个人觉着异常值和离群点是两个不同的概念,当然大家在数据预处理时对于这两个概念不做细致...

如何运行Python程序的方法

如何运行Python程序的方法

安装完python之后,我们可以做两件事情, 1.将安装目录中的Doc目录下的python331.chm使用手册复制到桌面上,方便学习和查阅 2.将Python安装路径我的是C:\Pyt...

Python使用bs4获取58同城城市分类的方法

本文实例讲述了Python使用bs4获取58同城城市分类的方法。分享给大家供大家参考。具体如下: # -*- coding:utf-8 -*- #! /usr/bin/python...

python绘制双Y轴折线图以及单Y轴双变量柱状图的实例

python绘制双Y轴折线图以及单Y轴双变量柱状图的实例

近来实验室的师姐要发论文,由于论文交稿时间临近,有一些杂活儿需要处理,作为实验室资历最浅的一批,我这个实习生也就责无旁贷地帮忙当个下手。今天师姐派了一个小活,具体要求是: 给一些训练模型...