PYTHON:如何删除列表';检查字符串中的元素后,从字符串中删除这些元素

PYTHON:如何删除列表';检查字符串中的元素后,从字符串中删除这些元素,python,Python,给我一个字符串(单词)列表和一个不带空格的字符串,我应该用它们做的是: 检查列表中的字符串是否在非间隔字符串中 如果是,请删除找到的单词 给出一个列表,列出按词典顺序找到的所有单词 给出发现最多的单词,如果有两个单词出现的次数相同,只需按照字典顺序给出第一个单词 给出一组未找到的单词 例如: list=['cat','dog','mouse'] string='mousecatmousemousecatcat' 答案应该是: (['mouse'、'cat']、'cat')列表必须变成['do

给我一个字符串(单词)列表和一个不带空格的字符串,我应该用它们做的是:

  • 检查列表中的字符串是否在非间隔字符串中
  • 如果是,请删除找到的单词
  • 给出一个列表,列出按词典顺序找到的所有单词
  • 给出发现最多的单词,如果有两个单词出现的次数相同,只需按照字典顺序给出第一个单词
  • 给出一组未找到的单词
  • 例如:

    list=['cat','dog','mouse']
    
    string='mousecatmousemousecatcat'
    
    答案应该是:

    (['mouse'、'cat']、'cat')
    列表必须变成
    ['dog']

    例如:

    list=['cat','dog','mouse']
    
    string='mousecatmousemousecatcat'
    
    • list=['ala','cena','elica','nave','luce','lana','vela']

    • string='lucenavelanaveelica'

    答案应该是:

    (['luce'、'nave'、'lana'、'vela'、'elica']、'nave')
    列表变成
    ['ala'、'cena']

    我现在在这一点上:

    def功能(lista、testo):

    conto=0
    val=''
    presenti=list(过滤器(testo中的lambda x:x,lista))
    non_presenti=(set(lista)-set(presenti))
    如果不存在大于0:
    返回元组(不存在)
    其他:
    退货清单(不存在)
    #元组(过滤器(lambda x:x不在testo中,lista))
    对于范围(1,len(lista))中的i:
    a=testo.count(列表a[i-1])
    如果继续
    产出:

    >>>(['cat', 'mouse'], 'cat', ['dog'])
    >>>(['cena', 'elica', 'nave', 'luce', 'lana', 'vela'], 'nave', ['ala'])
    

    您当前的代码是什么?为什么第二个结果是
    ['ala','cena']
    ?“Lucenavelanaveelica”中有一个“cena”。另外,没有输出列表是按字典顺序排序的。您好,欢迎来到stack overflow。您发布了一个需求列表,但没有代码,也没有明确的问题,因此无法说出您的期望,因此请编辑您的问题以使您的问题明确。这是一个有趣的问题,它读起来更像是一个编码挑战或面试编码测试,而不是一个关于编程的问题,这就是为什么它被否决的原因。这段代码运行良好,但它仍然给出以previus单词的最后一个字母作为后缀的单词…我需要解决这个问题,但我不知道如何解决to@LRA98给我举个例子,我会调查的。
    list1=['cat','dog','mouse']
    string='mousecatmousemousecatcat'
    
    def some_func(input_list, string):
        occurance_list = []
        most_counted = ""
        num = 0
        for i in input_list:
            if string.count(i) > num:
                most_counted = i
                num = string.count(i)
            if string.count(i) > 0:
                occurance_list.append(i)
        not_occured  = list(set(input_list) - set(occurance_list))
        return occurance_list, most_counted, not_occured
    
    print(some_func(list1, string))
    
    
    list2=['ala','cena','elica','nave','luce','lana','vela']
    
    string='lucenavelanavelanaveelica'
    
    print(some_func(list2, string))
    
    >>>(['cat', 'mouse'], 'cat', ['dog'])
    >>>(['cena', 'elica', 'nave', 'luce', 'lana', 'vela'], 'nave', ['ala'])