Python - 检測字符串之间的包括
检測字符串之间的包括
本文地址: http://blog.csdn.net/caroline_wendy/article/details/27048955
Python中, 能够检測字符串之间的包括问题.
containsAny, 仅仅要包括不论什么一个字符就可以;
containsOnly, 所有字符都包括在内;
containsAll, 包括所有;
代码:
# -*- coding: utf-8 -*- '''
Created on 2014.5.25 @author: C.L.Wang
''' '''存在不论什么'''
def containsAny(seq, aset):
for c in seq:
if c in aset: return True
return False import itertools
def containsAny2(seq, aset):
for item in itertools.ifilter(aset.__contains__, seq) :
return True
return False def containsAny3(seq, aset):
return bool(set(aset).intersection(seq)) '''所有存在'''
def containsOnly(seq, aset):
for c in seq:
if c not in aset: return False
return True '''包括所有'''
def containsAll(seq, aset):
#print(set(aset).difference(seq))
return not set(aset).difference(seq) import string
notrans = string.maketrans('', '')
def containsAny4(astr, strset):
return len(strset) != len(strset.translate(notrans, astr)) def containsAll2(astr, strset):
return not strset.translate(notrans, astr) if __name__ == '__main__':
L1 = [1, 2, 3, 4]
L2 = [5, 6, 7, 8]
L3 = [1, 4, 7, 10]
print("L1 constains any in L2 : " + str(containsAny(L1, L2)))
print("L1 constains any in L3 : " + str(containsAny(L1, L3))) print("L1 constains any in L2 (2) : " + str(containsAny2(L1, L2)))
print("L1 constains any in L3 (2) : " + str(containsAny2(L1, L3))) print("L1 constains any in L2 (3) : " + str(containsAny3(L1, L2)))
print("L1 constains any in L3 (3) : " + str(containsAny3(L1, L3))) L4 = [1, 1, 2, 2, 3, 4]
L5 = [1, 1, 2, 2, 3, 4, 5] print("L1 constains only in L4 : " + str(containsOnly(L1, L4)))
print("L1 constains only in L5 : " + str(containsOnly(L1, L5))) print("L1 constains all in L4 (2) : " + str(containsAll(L1, L4)))
print("L1 constains all in L5 (2) : " + str(containsAll(L1, L5))) pass
输出:
L1 constains any in L2 : False
L1 constains any in L3 : True
L1 constains any in L2 (2) : False
L1 constains any in L3 (2) : True
L1 constains any in L2 (3) : False
L1 constains any in L3 (3) : True
L1 constains only in L4 : True
L1 constains only in L5 : True
L1 constains all in L4 (2) : True
L1 constains all in L5 (2) : False
Python - 检測字符串之间的包括的更多相关文章
- python 日期与字符串之间的转换
1.str转换为datetime >>> from datetime import datetime >>> cday = datetime.strptime('2 ...
- 使用nodeitk进行角点检測
前言 东莞,晴,33至27度.今天天气真好,学生陆续离开学校.忙完学生答辩事情,最终能够更新一下nodeitk.本文继续介绍node的特征识别相关内容,你会看到,採用nodeitk实现角点检測是一件十 ...
- Python图像处理(8):边缘检測
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 此前已经得到了单个区域植株图像,接下来似乎应该尝试对这些区域进行分类识别.通过外形和叶脉进行植物种 ...
- Python中的列表,元组,字符串之间的相互转化
Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am x ...
- Python下opencv使用笔记(七)(图像梯度与边缘检測)
梯度简单来说就是求导,在图像上表现出来的就是提取图像的边缘(无论是横向的.纵向的.斜方向的等等),所须要的无非也是一个核模板.模板的不同结果也不同.所以能够看到,全部的这些个算子函数,归结究竟都能够用 ...
- Python十六进制与字符串的转换
电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...
- 【从零学习openCV】IOS7下的人脸检測
前言: 人脸检測与识别一直是计算机视觉领域一大热门研究方向,并且也从安全监控等工业级的应用扩展到了手机移动端的app,总之随着人脸识别技术获得突破,其应用前景和市场价值都是不可估量的,眼下在学习ope ...
- C++内存泄露检測原理
转自:http://hi.baidu.com/jasonlyy/item/9ca0cecf2c8f113a99b4981c 本文针对 linux 下的 C++ 程序的内存泄漏的检測方法及事实上现进行探 ...
- Python学习笔记整理(四)Python中的字符串..
字符串是一个有序的字符集合,用于存储和表现基于文本的信息. 常见的字符串常量和表达式 T1=‘’ 空字符串 T2="diege's" 双引号 T3=""&quo ...
随机推荐
- php 关于使用七牛云存储
1.首先注册七牛云存储账号 http://www.qiniu.com/ 2.获得密钥 3.仔细查看文档 http://developer.qiniu.com/docs/v6/sdk/php-sdk.h ...
- 洛谷P3047 [USACO12FEB]Nearby Cows(树形dp)
P3047 [USACO12FEB]附近的牛Nearby Cows 题目描述 Farmer John has noticed that his cows often move between near ...
- selenium3 + python - expected_conditions判断元素
expected_conditions 类 title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值 title_contains : 判断当前页面的title是否包含预 ...
- Vue项目打包部署到apache服务器
vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进 ...
- Springboot 版本+ jdk 版本 + Maven 版本的对应关系
Spring boot 版本 Spring Framework jdk 版本 maven 版本 1.2.0 版本之前 6 3.0 1.2.0 4.1.3+ 6 3.2+ 1.2.1 4.1.3+ ...
- Spring的AOP机制---- 切入点表达式---- 切入点表达式
3333钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱
- kotlin第一个项目的搭建
怎么在Android Studio中使用Kotlin? 1.使用Android Studio的插件 2.将Android Studio升级到3.0版本:目前不推荐,因为3.0的版本目前还是Dev Ch ...
- 静态修改url,不跳转
history.replaceState(null,document.title,'www.baidu.com');
- Apex语言(六)数组
1.数组 数组能保存多个数据,每一个数据称为数组元素,元素的个数称为数组的长度. 数组元素的类型必须相同,元素的类型就是数组的类型. 数组元素在数组中都有一个编号,称为数组下标.下标从0开始编号,通过 ...
- matlab学习GUI可调的界面窗口
创建一个GUI界面,在此依然利用GUI_01的窗口来演示 发现它的最大化窗口不可调 在GUI绘制中,工具--->选择GUI选项---->选择第二个成比例 再运行就可以调控大小了