3 回答

TA贡献2003条经验 获得超2个赞
all
您可能想以这种方式使用布尔表达式[word for word in words if all(letter in word for letter in words_letters)]
,但它会错过字母是否出现一次或多次。

TA贡献1934条经验 获得超2个赞
all()
您可以在列表理解中使用内置 函数。
def words_with_letters(words, letters):
return [word for word in words if all(letter in word for letter in letters)]
words = ['word1', 'wtoersdt2', 'word3']
print(words_with_letters(words, 'test')) # -> ['wtoersdt2']

TA贡献1864条经验 获得超6个赞
您可以使用set差异来list_comprehension查看如下所示的匹配
words = ["test_word1","tst_word2","word3_test","word4"]
letters = ['t','e','s','t']
match= [word for word in words if len(list(set(letters)-set(word)))==0]
print(match)
#will return ['test_word1', 'word3_test'] only
添加回答
举报