例如a = 'abc123def'
b = 'abcdef'我想要一個可以判斷b是否在a中的函數。contains(a,b)=Trueb的表示中也允許有ps gap,egb='abc_def'但不允許使用正則表達式。
3 回答

婷婷同學_
TA貢獻1844條經驗 獲得超8個贊
如果你想做的是檢查 是否b
是 的子序列a
,你可以這樣寫:
def contains(a, b):
? ? n, m = len(a), len(b)
? ? j = 0
? ? for i in range(n):
? ? ? ? if j < m and a[i] == b[j]:
? ? ? ? ? ? j += 1
? ? return j == m

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
嘗試使用列表理解:
def contains(main_string, sub_string): return all([i in main_string for i in sub_string])
注意:'all' 是一個內置函數,它接受一個可迭代的布爾值,如果全部為 True 則返回 try。

aluckdog
TA貢獻1847條經驗 獲得超7個贊
def new_contained(a,b):
boo = False
c = [c for c in a]
d = [i for i in b]
if len(c)<=len(d):
for i in c:
if i in d:
boo = True
return boo
添加回答
舉報
0/150
提交
取消