目的

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

方法

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

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检测字符串中是否包含某字符集合中的字符相关推荐

  1. [转载] python获取set中某些元素_取集合中元素_Python Set集合

    参考链接: Python set集合 copy() Set集合 阅读本文需要3分钟 2019.09.05 集合(set)是一个无序不重复元素的序列.基本功能是进行成员关系测试和删除重复元素.可以使用大 ...

  2. python基本字符_Python基本字符串,基础,之

    一:字符串 很多人初学编程时,总是担心自己数学不行,潜意识里认为数学好才能编程.实际上,大多数程序员打交道最多的是"字符串"而不是"数字".因为,编程是用来解决 ...

  3. python里的拼接_Python拼接字符串的7种方法总结

    前言 忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 在Python中,我们经常会遇到字符串的拼接问题,几乎任何一种编程语言,都把字符串列为最基 ...

  4. [转载] python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解

    参考链接: Python字符串| rfind python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in ...

  5. python 遍历字符串 字符_python 遍历字符串(含汉字)实例详解

    python 遍历字符串(含汉字)实例详解 python 遍历字符串(含汉字)实例详解 s = "中国china" for j in s: print j 首先一个,你这个'a'是 ...

  6. python判断变量是否为数字_Python 判断字符串是否为数字

    Python 判断字符串是否为数字 以下实例通过创建自定义函数 is_number() 方法来判断字符串是否为数字: # -*- coding: UTF-8 -*- # Filename : test ...

  7. python的迭代器指向第一个字符_python(七)字符串格式化、生成器与迭代器

    标签: 字符串格式化 Python的字符串格式化有两种方式:百分号方式.format方式 1.百分号的方式 %[(name)][flags][width].[precision]typecode (n ...

  8. python字符串查找某个字符_python的字符串

    python中字符串是一个重要的数据类型. 字符串是用引号括起来的0个或多个字符,当引号括起来的是0个字符,那就叫空字符串.我们可以定义一个变量,然后将一个字符串赋值给这个变量. 字符串是中的字符是有 ...

  9. python 如何匹配一撇字符_python,yaml如何解析包含撇号的字符串

    我使用python解析YAML文件.在 其中一个YAML文档包含如下字典:scrapers: results: //article[@class='story '] 这显然引起了一个问题,因为最后一个 ...

最新文章

  1. Python3中上下文管理器介绍
  2. Grails 1.2参考文档速读(15):验证
  3. RabbitMQ入门-Routing直连模式
  4. Spring JDBC-使用注解配置声明式事务
  5. LaTeX indicator function
  6. hive安装需要安装mysql区别_HIVE安装系列之一:在Linux中安装mysql,为其作为hive的metastore做准备...
  7. html5语异性元素,异性的5句性暗示
  8. java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架
  9. [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
  10. FD.io VPP 20.05 官方文档 总目录:用户文档+开发文档+命令行
  11. aixcoder 智能代码补全工具
  12. 华翼宽带android客户端,太凶残了:电信推华翼宽带专门防蹭网
  13. 黑苹果声卡、显卡、网卡驱动教程
  14. JS原生读取 本地 JSON
  15. Unity3d资源管理模块
  16. windows bat脚本 理解 @echo off 和 echo off 的区别
  17. wps 甘特图_「WPS办公助手」3分钟画出高逼格流程图,工作学习规划一目了然,老板都要为你点赞...
  18. 小游戏的processing实现
  19. 数据结构与算法(C语言版)---魔王语言
  20. proteus中 基于STC89C51的ADC0809模数转换仿真

热门文章

  1. 华为泛BYOD融合网络解决方案实践与演示
  2. Sql Server系列:开发存储过程
  3. 华为机试HJ54:表达式求值
  4. 差分隐私 机器学习_微软发布多个建置可信AI的问责机器学习工具
  5. 6年软件测试,职场上的摸爬滚打,告诉我这些.......
  6. 对于软件测试四大误区的认识
  7. 计算机辅助设计工业产品cad竞赛试题,2017工业产品设计CAD比赛试题
  8. MySQL快速上手[学习笔记](二)
  9. 程序老鸟:软件测试的工资高还是开发者工资高?
  10. QT4C-Windows自动化测试框架正式开源