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 ...
随机推荐
- Vue项目打包部署到apache服务器
vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进 ...
- Oracle_备份整库
@echo off color 0b & cls echo echo 设置备份文件存放文件夹... echo set "tbuf=C:\OracleBackup" if n ...
- [BZOJ1601] 灌水
难点:找到正确方式建图 知识点:Kruskal 分析:这种题肯定要把点权转换到边权上,但肯定无法搞到和其他点相连的边上,怎么办呢?那就再造一个点呗,这个“超级点”和所有点相连,且边权=点权,于是就可以 ...
- Ionic学习记录(一):ionic及cordova安装、创建第一个应用、项目结构
目录: 一.ionic的安装 二.创建第一个应用程序 三.浏览器中预览应用 四.项目结构 五.添加页面 一.ionic的安装 使用Ionic创建和开发应用程序主要通过Ionic命令行实用程序(“CLI ...
- IO流遍历文件夹下所有文件问题
import java.io.File; /** * @author 王恒 * @datetime 2017年4月20日 下午2:24:32 * @description 递归调用 * */ publ ...
- java 实现将java对象转为yaml文件
首先我们建两个类,以下两个类展示的是一个学生拥有多个手机号码联系人. 先是学生类: package com.ming.yaml.beans; import java.util.ArrayList; i ...
- C#:使用FastReport打印带图片传参模板的实现方法
大家都知道,C#打印图片可以直接调用PrintDocument控件的PrintPage事件,通过画刷对image对象直接进行绘制.但是这种方法存在局限,例如如果打印的图片需要按纸张大小进行缩放的话,那 ...
- struts2结果处理、获取参数(二)
结果处理 1.转发 type可以不写,默认就是转发 <package name="hello" namespace="/hello" extends=&q ...
- 小程序开发之搭建WebSocket的WSS环境(Apache+WorkerMan框架+PHP)
最近公司的一个IoT项目用到了小程序的WSS协议环境,现在把整个的搭建开发过程分享给大家. 这里我们用的是WorkerMan框架,服务器是CentOS,Web服务器是Apache,开发语言是PHP. ...
- unicode、UTF-8、UTF-16的历史
1:中国人民通过对 ASCII 编码的中文扩充改造,产生了 GB2312 编码,可以表示6000多个常用汉字. 2:汉字实在是太多了,包括繁体和各种字符,于是产生了 GBK 编码,它包括了 GB231 ...