匹配字符串的字符

时间:2018-02-05 11:04:15

标签: python regex python-3.x

如果我致电matcher.match('bad'),则应返回提供列表中存在的'bad'所有排列的列表。在此示例中,输出将为['abd']。到目前为止,这是我尝试过的,但我似乎无法匹配这种模式。

class Matcher():
    def __init__(self, string_list):
        self.string_list = string_list

    def match(self, string_match):
        matched_list = [string for string in string_list if string_match in string]
        return matched_list

string_list = ['abd', 'abdd', 'fret', 'gilk', 'lokm']
matcher = Matcher(string_list)
print(matcher.match('abd'))

2 个答案:

答案 0 :(得分:3)

这是一个O( n log n )解决方案:

rm -rf ~/.rstudio/sessions/active/session-*

答案 1 :(得分:0)

您可以随时使用collections.Counter()

from collections import Counter

string_list = ['abd', 'abdd', 'fret', 'gilk', 'lokm']

my_str = 'bad'

print([x for x in string_list if Counter(my_str) == Counter(x)])
# ['abd']