Python判断一个字符串中是否存在多个子串中的一个
在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题,
但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c|d…,
似乎就需要借助for做循环判断,那么这种情况有没有更pythonic的方法呢?
判断一个字符串中是否存在某一个子串
判断一个字符串中是否存在子串通常使用in关键词,如下:
>>> a = "I Love Crystal!And I Hate Tom!"
>>> b = "Crystal"
>>> c = "Tom"
>>> d = "Jessie"
>>> print(b in a)
True
>>> print(d in a)
False
>>>
in关键词可以用来判断一个字符串中是否含有一个子串
如"Crystal"在"I Love Crystal!And I Hate Tom!"中,"Jessie"不在"I Love Crystal!And I Hate Tom!"中。
判断一个字符中是否含有多个子串中的一个
问题来了
如果如果我想判断```"I Love Crystal!And I Hate Tom!"```是否含有```"Crystal", "Tom", "Jessie"```中的任意一个
只要有其中的任意一个就输出True,应该怎么判断呢?
>>> a = "I Love Crystal!And I Hate Tom!"
>>> name_list = ["Jessie", "Tom", "Crystal"]
>>> for name in name_list:
... if name in a:
... print("got you!")
... break
...
got you!
>>>
我们发现,代码结构看起来还是不够pythonic
有没有更加优雅的写法呢?
可以使用内置的any()函数。
>>> a = "I Love Crystal!And I Hate Tom!"
>>> name_list = ["Jessie", "Tom", "Crystal"]
>>> print(any(name in a for name in name_list))
True
>>> name_list = ["Jessie", "Tomi", "Rose"]
>>> print(any(name in a for name in name_list))
False
>>>
from: https://www.jianshu.com/p/da382b11dc3e
Python判断一个字符串中是否存在多个子串中的一个的更多相关文章
- 38 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. public class _038PrintLength { public static void main(Stri ...
- 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度
import java.util.Scanner; /** * [程序38] * * 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. * * @author Jame ...
- leetcode 求一个字符串的最长回文子串
最长回文子串问题:给定一个字符串,求它的最长回文子串长度.如果一个字符串正着读和反着读是一样的,那它就是回文串. 给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最 ...
- Java将整个文件夹里的文本中的字符串替换成另外一个字符串(可用于项目复制,变成另一个项目)
import org.junit.Test; import java.io.*; /** * User: HYY * Date: 13-8-18 * Time: 下午8:11 * To change ...
- python 判断列表字符串元素首尾字符是否相同
def match_words(words): ctr = for word in words: and word[] == word[-]: ctr += return ctr print(matc ...
- 算法:Manacher,给定一个字符串str,返回str中最长回文子串的长度。
[题目] 给定一个字符串str,返回str中最长回文子串的长度 [举例] str="123", 1 str="abc1234321ab" 7 [暴力破解] 从左 ...
- 用python正则表达式提取字符串
在日常工作中经常遇见在文本中提取特定位置字符串的需求.python的正则性能好,很适合做这类字符串的提取,这里讲一下提取的技巧,正则表达式的基础知识就不说了,有兴趣的可以看re的教程. 提取一般分两种 ...
- python正则表达式提取字符串
用python正则表达式提取字符串 在日常工作中经常遇见在文本中提取特定位置字符串的需求.python的正则性能好,很适合做这类字符串的提取,这里讲一下提取的技巧,正则表达式的基础知识就不说了,有兴趣 ...
- 计算字符串的最长回文子串 :Manacher算法介绍
转自: http://www.open-open.com/lib/view/open1419150233417.html Manacher算法 在介绍算法之前,首先介绍一下什么是回文串,所谓回文串,简 ...
随机推荐
- static_关键字
static关键字 1.在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所以对象来说,static成员变量只有一份. 2.用stati ...
- Fiddler设置展示接口响应时间
在Tool bar上面找到Rules->CustomRules 在class Handlers{ 里面添加 function BeginRequestTime(oS: Session){ ...
- Linux Kernel中所應用的數據結構及演算法
Linux Kernel中所應用的數據結構及演算法 Basic Data Structures and Algorithms in the Linux kernel Links are to the ...
- Rikka with Nickname (简单题)
Rikka with Nickname 链接:https://www.nowcoder.com/acm/contest/148/J来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒空间限制:C/ ...
- 编译Linux-2.6.23内核中遇见的错误
编译linux-2.6.23 错误[1]: elf_x86_64: 没有那个文件或目录 原因是 gcc 4.6 不再支持 linker-style 架构.在 arch/x86/vdso/Makefil ...
- Hibernate4教程二:基本配置
可编程的配置方式一: 如果在配置cfg.xml的时候,不想在里面配置hbm.xml怎么办呢?可在程序里使用可编程的配置方式,也就是使用程序来指定在cfg.xml里面的配置信息,不推荐这种方式.如下: ...
- Python基础篇(set集合)
Python基础篇(set集合,深浅拷贝) set集合是Python的一个基本类型,一般是不常用.set中的元素是不重复的.无序的里边 的元素必须是可hash的比如int,str,tuple,bool ...
- 【转载】MySQL查询当天0点,昨天时间
转载自:https://blog.csdn.net/qq_22158021/article/details/78800299 今天是 SELECT NOW();-- 2015-09-28 13:48: ...
- smb.conf - Samba组件的配置文件
总览 SYNOPSIS smb.conf是Samba组件的配置文件,包含Samba程序运行时的配置信息.smb.conf被设计成可由swat (8)程序来配置和管理.本文件包含了关于smb.conf的 ...
- 执行cython文件
找到目录下的setup.py文件 cd到工程目录下: 执行 python3 setup.py build_ext --inplace