Python小技巧 - 子串查找
2010-03-03 22:54
183 查看
阅读:0评论:0作者:FreescHuang发表于2010-03-0322:54原文链接
惭愧啊,今天写了个查找子串的Python程序被BS了…
如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码:
[/code]
可是这是Python,我们可以利用字符串自带的find()方法,于是可以这样:
悲情的事就在于此,原来Python中的关键字"in”不仅可以用于列表、元祖等数据类型,还可以用于字符串。所以,这里只需要直接一行代码搞定:
后知后觉了,惭愧;-)
类似的,假设要在字符串中,查找多个子串是否存在,并打印出这些串和首次出现的位置:
[/code]
评论:0查看评论 发表评论
找优秀程序员,就在博客园
最新新闻:
·IBM发布第五代X架构打破X86系统30年技术局限(2010-03-0322:47)
·互联网手机业务成香馍馍上海电信盯牢3G市场(2010-03-0322:38)
·Twitter信息总量即将突破100亿条大关(2010-03-0322:34)
·Opera为何无法进一步拓展市场(2010-03-0321:38)
·Symbian版Skype登陆诺基亚OviStore(2010-03-0321:04)
编辑推荐:Opera为何无法进一步拓展市场
网站导航:博客园首页个人主页新闻闪存小组博问社区知识库
惭愧啊,今天写了个查找子串的Python程序被BS了…
如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码:
#determinewhethers1isasubstringofs2defisSubstring1(s1,s2):
[/code]
tag=False
len1=len(s1)
len2=len(s2)
foriinrange(0,len2):
ifs2[i]==s1[0]:
forjinrange(0,len1):
ifs2[i]==s1[j]:
tag=True
returntag
可是这是Python,我们可以利用字符串自带的find()方法,于是可以这样:
defisSubstring2(s1,s2):tag=False[/code]
ifs2.find(s1)!=-1:
tag=True
returntag
悲情的事就在于此,原来Python中的关键字"in”不仅可以用于列表、元祖等数据类型,还可以用于字符串。所以,这里只需要直接一行代码搞定:
defisSubstring3(s1,s2):returns1ins2[/code]
后知后觉了,惭愧;-)
类似的,假设要在字符串中,查找多个子串是否存在,并打印出这些串和首次出现的位置:
deffindSubstrings(substrings,destString):res=map(lambdax:str([destString.index(x),x]),filter(lambdax:xindestString,substrings))
[/code]
ifres:
return','.join(list(res))
;-)verycool~
评论:0
最新新闻:
·
·
·
·
·
编辑推荐:
网站导航:
相关文章推荐
- 转 -- Python小技巧 - 子串查找
- Python小技巧 - 子串查找
- Python小技巧 - 子串查找
- python在utf-8下 中文字符串查找子串
- Python简单实现查找一个字符串中最长不重复子串的方法
- Python字符串中查找子串小技巧
- python源码查找子串
- python 字符串中查找子串
- Python:数据流中查找特定子串的简单算法
- Python 的字符串类子串查找函数
- Python查找第n个子串小技巧
- python查找中文字符
- python递归实现折半查找
- python for android : 查找IP地址归属地
- python 算法基础之二分查找
- python字符编码处理 查找某IP位置
- Python查找涉密关键字文件
- Python引用模块和查找模块路径
- python程序十个小技巧
- python win32api 使用小技巧