2 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
或者str.count在列表理解中使用,使用all:
def f(s):
return all(s.count(i)>=Substring.count(i) for i in Substring)
print(f(String1))
print(f(String2))
print(f(String3))
輸出:
True
False
True

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以通過collections.Counter以下方式使用:
from collections import Counter
def contains_all(string, substring):
c1, c2 = Counter(string), Counter(substring)
return all(c1[x] >= c2[x] for x in c2)
這將確保子字符串中的每個(gè)字符在包含字符串中的次數(shù)至少相同。
>>> contains_all('aaabcfy', 'aabfy')
True
>>> contains_all('abcfgmy', 'aabfy')
False
>>> contains_all('aabcfgy', 'aabfy')
True
添加回答
舉報(bào)