2016-07-05 62 views
2

在Python中,我想通過字典(如拼字遊戲官方列表)搜索並按特定順序標識x個字符的所有單詞。例如,我有「mmt」,並希望輸出生成一個單詞列表,例如您在下面看到的內容。按特定順序過濾包含一些字母的單詞

「MMT」:

  • 中號 ALGA 中號Ť ED
  • MM ONIA Ť ED
  • 斷路器操作過中號中號 BULA T ED
  • CO MM EN 牛逼 ATED

謝謝!!

+2

這聽起來像是正則表達式的一個問題。 – rob

回答

1

您可以根據生成動態正則表達式模式和過濾列表:

import re 

words = ["AMALGAMATED", "AMMONIATED", "CIRCUMAMBULATED", "COMMENTATED", 
     "TAMTAM", "BLUB", "HOUSE", "SOMETHING"] 
filter = "mmt" 

regex = re.compile(".*".join(filter), re.IGNORECASE) 
filtered_words = [word for word in words if regex.search(word)] 

print(*filtered_words, sep="\n") 

See this code running on ideone.com

+0

這正是我期待和欣賞它 - 謝謝你! – tachyon