python过滤字符串中不属于指定集合中字符的类实例

   本文实例讲述了python过滤字符串中不属于指定集合中字符的类。分享给大家供大家参考。具体如下:

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# -*- coding: utf-8 -*-
import sets
class Keeper(object):
def __init__(self, keep):
self.keep = sets.Set(map(ord, keep))
def __getitem__(self, n):
if n not in self.keep:
return None
return unichr(n)
def __call__(self, s):
return s.translate(self)
makefilter = Keeper
if __name__ == '__main__':
just_vowels = makefilter('aeiouy')
print just_vowels(u'four score and seven years ago')
# 输出: ouoeaeeyeaao
print just_vowels(u'tiger, tiger burning bright')
# 输出: ieieuii

  希望本文所述对大家的Python程序设计有所帮助。

时间: 2024-12-30 21:52:00

python过滤字符串中不属于指定集合中字符的类实例的相关文章

《Python Cookbook(第2版)中文版》——1.10 过滤字符串中不属于指定集合的字符

1.10 过滤字符串中不属于指定集合的字符 任务 给定一个需要保留的字符的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案 对于此类问题,string对象的translate方法是又快又好用的工具.不过,为了有效地使用translate来解决问题,事先我们必须做一些准备工作.传递给translate的第一个参数是一个翻译表:在本节中,我们其实不需要什么翻译,所以我们必须准备一个特制的参数来指明"无须翻译".第二个参数

ASP.NET MVC中在路由表routes集合中添加Route实例的问题

昨天有位同学问到关于在routes集合中添加自定义的路由实例的问题,她出现的问题是这样的: 1.因为要在应用程序戾动时将实例添加到routes表中,所以需要把代码写在Global类的RegisterRoutes方法中,代码如下两种方式:    routes.Add("s", new Route("a/b", new WebFormRouteHandler("~/WebForm1.aspx")));    routes.Add("a&qu

asp.net中linq查本集合中不包含于另一个集合的元素

 代码如下 复制代码 int[] num0 = { 28, 32, 14 };int[] num1 = {14,15,16}; 如上,我想把num0中不包含于num1的元素都找出来,其正确结果应该是28,32.早上看到原来linq可以写多个from字句,之后就想到了这样的写法:  代码如下 复制代码 int[] num0 = { 28, 32, 14 };int[] num1 = {14,15,16}; var qq = from n1 in num0from n2 in num1where n

python实现的用于搜索文件并进行内容替换的类实例

  本文实例讲述了python实现的用于搜索文件并进行内容替换的类.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 6

Python 过滤字符串的技巧,map与itertools.imap_python

具体的实例 我们需要在目录中遍历,包括子目录(哈哈),找出所有后缀为:rmvb ,avi ,pmp 的文件.(天哪?!你要干什么?这可是我的隐私啊--) 复制代码 代码如下: import os def anyTrue(predicate, sequence): return True in map(predicate, sequence) def filterFiles(folder, exts): for fileName in os.listdir(folder): if os.path.

Oracle截取字符串去掉字段末尾指定长度的字符_oracle

lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 eg: //去掉该字段后面15位字符串 select t.depre_name, substr(t.depre_name, 0, (length(t.depre_name) - 16)) from table t where t.del_flag = '0' [备注]一个汉字在Oracle数据库里占多少字节跟数据库的

使用ajax传集合到页面中,想获取集合中的对象属性,但这对象的属性又是另一个对象,我该怎么获取?

问题描述 比如说,现有两个实体:学校(School)和年级(Grade):School中属性有name(学校名称),Grade(年级对象),address(地址):Grade中属性有name(年级名称),stuCount(学生人数),classCount(班级数)之后,我有一个学校对象的集合schoolList,我在用ajax技术向页面传值时,name值和address值都能获取到,然而此集合的Grade对象中的属性我该怎么获取呢?最好能用代码详细解释一下,在此我就先谢过了

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

  这篇文章主要介绍了Python检测字符串中是否包含某字符集合中的字符,需要的朋友可以参考下 目的 检测字符串中是否包含某字符集合中的字符 方法 最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 代码如下: def containAny(seq,aset): for c in seq: if c in aset: return True return False 第二种适用itertools模块来可以提高一点性能,本质上与前者是同种方法(不过此方法违背了Python的核心观点:简洁,清

《Python Cookbook(第2版)中文版》——1.8 检查字符串中是否包含某字符集合中的字符

1.8 检查字符串中是否包含某字符集合中的字符 任务 检查字符串中是否出现了某字符集合中的字符. 解决方案 最简单的方法如下,兼具清晰.快速.通用(适用于任何序列,不仅仅是字符串,也适用于任何容器,不仅仅是集合): def containsAny(seq, aset): """ 检查序列seq是否含有aset中的项 """ for c in seq: if c in aset: return True return False 也可以使用更高级和