首页 > 解决方案 > 如何从列表中找到单词的所有组合

问题描述

所以我有 str = 'Pizza' 并且我有单词列表,例如: list = [ ['pizza'],['izza'] , ['zza'] ] 如何检查所有可能的组合“ Pizza”来检查它是否在列表中?不使用 Numpy 命令 p pi piz pizz Pizza I iz izz izza 等。

标签: python-3.xlist

解决方案


def check_present_frm_string(a_word: str, check_list: list):
    length = len(a_word)
    i = 0
    combination_list = list()
    while i < length:
        new_word = a_word[i:]
        j = len(new_word)
        while j != 0:
            j_word = new_word[:j]
            if j_word not in combination_list:
                combination_list.append(j_word)
            j -= 1
        i += 1
    for item in check_list:
        if item in combination_list:
            print(f'{item} is a valid combination')
        else:
            print(f'{item} is not a valid combination')


a_list = ['p', 'pi', 'piz', 'pizz', 'pizza', 'I', 'iz', 'izz', 'izza']
a_str = 'Pizza'
check_present_frm_string(a_str, a_list)

结果:
p 不是有效组合
pi 不是有效组合
piz 不是有效组合
pizz 不是有效组合
Pizza 不是有效组合
I 不是有效组合
iz 是有效组合
izz 是有效组合
izza 是有效的组合


推荐阅读