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 ...
随机推荐
- js软键盘
<<!DOCTYPE html><html><head> <title></title></head><body& ...
- php函数 array_values()
array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名. 提示:被返回的数组将使用数值键,从 0 开始并以 1 递增. $a=array("Name" ...
- HTML+CSS+JS总结
==================HTML(超文本标记语言)========== <!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前.此标签可告 ...
- Dubbo的@Reference和@Service说明---1Reference用在消费者2Service用在提供者【import com.alibaba.dubbo.config.annotation.Service;】
@Reference 用在消费端,表明使用的是服务端的什么服务@RestControllerpublic class RemoteUserController { @Reference(version ...
- EF CodeFirst 基础命令
PM> enable-migrations 已在项目"EasyWeChat.Data"中启用迁移.若要覆盖现有迁移配置,请使用 -Force 参数. PM> add-m ...
- iproute2和tc的高级路由用法
#Linux advanced router ip link show #显示链路 ip addr show #显示地址(或ifconfig) ip route show #显示路由(route -n ...
- jquery-pjax使用说明
pjax = pushState + ajax .--. / \ ## a a ( '._) |'-- | _.\___/_ ___pjax___ ."\> \Y/|<'. '. ...
- PKCS #1 RSA Encryption Version 1.5 填充方式
在进行RSA运算时需要将源数据D转化为Encryption block(EB).其中pkcs1padding V1.5的填充模式安装以下方式进行 (1) EB = 00+ BT+PS +00 + D ...
- mac 上执行 rm -rf /
# 很可怕的指令,清空磁盘所有资料,千万不要用 sudo 尝试,吓的小心肝差掉跳出来 rm -rf / 无聊,想执行rm -rf /会怎样,想起没加sudo时对~/download执行提示权限不足,被 ...
- react工具库
采用了react框架后,需要找到一些常用的库,常见的需求比如: 1)react生成二维码 2)react的轮播banner图 随着react的社区的壮大,以上的需求都有专门的库帮我们做这个: 1)re ...