Python检测字符串中是否包含某字符集合中的字符


Posted in Python onMay 21, 2015

目的

检测字符串中是否包含某字符集合中的字符

方法

最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器

def containAny(seq,aset):

    for c in seq:

         if c in aset:

                return True

    return False

      第二种适用itertools模块来可以提高一点性能,本质上与前者是同种方法(不过此方法违背了Python的核心观点:简洁,清晰)

itertools.ifilter(predicate, iterable)的说明

Make an iterator that filters elements from iterable returning only those for which the predicate is True. If predicate is None, return the items that are true.

例如:

ifilter(lambda x: x%2, range(10)) --> 1 3 5 7 9

 import itertools
def  containAny(seq,aset):
     for item in itertools.ifilter(aset.__contain__,seq):
            return True
     return False

 

如果要检测两个字符串是否为包含关系,此时必须检查所有子项,最好适用set类型,其中set(aset).difference(seq)是指存在于aset中而seq没有的元素:

def  containAll(seq,aset):

      return not set(aset).difference(seq)

例如下面这个例子:

In [4]: L1=[1,2,3,4]
In [5]: L2=[1,4,3,1]
In [6]: containAll(L1,L2)

Out[6]: True
In [7]: containAll(L2,L1)

Out[7]: False

 

注意一下,set.symmetric_difference是指两个集合独有的元素

In [9]: L2=[3,2,4,5]

In [10]: x=set(L1)

In [11]: x.symmetric_difference(L2)

Out[11]: set([1, 5])
Python 相关文章推荐
Python内置模块turtle绘图详解
Dec 09 Python
python3写爬取B站视频弹幕功能
Dec 22 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
Feb 13 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
使用django的objects.filter()方法匹配多个关键字的方法
Jul 18 Python
python word转pdf代码实例
Aug 16 Python
django 取消csrf限制的实例
Mar 13 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
完美解决keras 读取多个hdf5文件进行训练的问题
Jul 01 Python
解决python 执行shell命令无法获取返回值的问题
Dec 05 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
Linux下用Python脚本监控目录变化代码分享
May 21 #Python
Python批量按比例缩小图片脚本分享
May 21 #Python
初步讲解Python中的元组概念
May 21 #Python
Linux下使用python自动修改本机网关代码分享
May 21 #Python
Python字符串逐字符或逐词反转方法
May 21 #Python
Python合并字符串的3种方法
May 21 #Python
在Python中使用sort()方法进行排序的简单教程
May 21 #Python
You might like
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
PHP 远程关机实现代码
2009/11/10 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
vue自定义指令directive实例详解
2018/01/17 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
在Vue 中使用Typescript的示例代码
2018/09/10 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
Python 解析XML文件
2009/04/15 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
详解python中sort排序使用
2019/03/23 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
园林施工员岗位职责
2013/12/11 职场文书
汽车专业人才自我鉴定范文
2013/12/29 职场文书
任命书怎么写
2014/06/04 职场文书
团组织推优材料
2014/12/29 职场文书
安全保证书
2015/01/16 职场文书
给老师的一封感谢信
2015/01/20 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python