some_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any("abcd" in s for s in some_list):
print("asdf")
lst = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
print (filter(lambda x: 'abc' in x, lst))
# print (filter(lambda x: 'abc' in x, lst)['abc-123', 'abc-456'])
Python判斷一個字符串是否包含子串的幾種方法
三五月兒 2016-07-31 18:29:45 144467 收藏 10
分類專欄: Python 文章標籤: string模塊 python find index count
版權
1.使用成員操作符 in
>>> s='nihao,shijie'
>>> t='nihao'
>>> result = t in s
>>> print result
True
2.使用string模塊的find()/rfind()方法
>>> import string
>>> s='nihao,shijie'
>>> t='nihao'
>>> result = string.find(s,t)!=-1
>>> print result
True
>>> result = string.rfind(s,t)!=-1
>>> print result
True
3.使用string模塊的index()/rindex()方法
index()/rindex()方法跟find()/rfind()方法一樣,只不過找不到子字符串的時候會報一個ValueError異常。
import string
def find_string(s,t):
try:
string.index(s,t)
return True
except(ValueError):
return False
s='nihao,shijie'
t='nihao'
result = find_string(s,t)
print result #True
4.使用字符串對象的find()/rfind()、index()/rindex()和count()方法
>>> s='nihao,shijie'
>>> t='nihao'
>>> result = s.find(t)>=0
>>> print result
True
>>> result=s.count(t)>0
>>> print result
True
>>> result=s.index(t)>=0
>>> print result
True