亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查字符串是否包含子字符串的所有字符?

如何檢查字符串是否包含子字符串的所有字符?

守候你守候我 2021-10-10 14:33:23
我需要查找字符串是否包含子字符串的所有字符。因此,對于 7 個字符的字符串,我想知道 5 個字符的子字符串的字符是否在字符串中,沒有重復字母(如果子字符串有 2 個字母 a,則該字符串最多需要 2 個字母 a)。舉個例子 :Substring = 'aabfy'String1 = 'aabcfgy'String2 = 'abcfgmy' String3 = 'aaabcfy'那么 String1 和 String3 為 True,而 String2 為 False。因為子字符串在 1 和 3 中而不在 2 中(雙 a,但它也可以是任何其他字母)。我希望我能解釋自己,任何問題我都可以并且會回答。
查看完整描述

2 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

或者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


查看完整回答
反對 回復 2021-10-10
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

您可以通過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)

這將確保子字符串中的每個字符在包含字符串中的次數至少相同。


>>> contains_all('aaabcfy', 'aabfy')

True

>>> contains_all('abcfgmy', 'aabfy')

False

>>> contains_all('aabcfgy', 'aabfy')

True


查看完整回答
反對 回復 2021-10-10
  • 2 回答
  • 0 關注
  • 247 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號