有一個字母池(隨機選擇),你想用這些字母做一個單詞。我發現了一些可以幫助我的代碼,但是如果這個詞有例如2個L並且池只有1個,我希望程序知道這是什麼時候發生的。檢查字符串中是否包含一組字符?
回答
如果我正確理解這一點,那麼您還需要使用您所用語言的所有有效單詞列表。
假設你有這個,那麼解決這個問題的一個策略可能是爲字典中的每個單詞生成一個密鑰,該單詞是該單詞中字母的排序列表。然後,您可以通過這些鍵對字典中的所有單詞進行分組。
然後,查找是否可以從給定的隨機字符列表構造一個有效的單詞的任務將是容易且快速的。
下面是一個簡單的實現我的建議的:
list_of_all_valid_words = ['this', 'pot', 'is', 'not', 'on', 'top']
def make_key(word):
return "".join(sorted(word))
lookup_dictionary = {}
for word in list_of_all_valid_words:
key = make_key(word)
lookup_dictionary[key] = lookup_dictionary.get(key, set()).union(set([word]))
def words_from_chars(s):
return list(lookup_dictionary.get(make_key(s), set()))
print words_from_chars('xyz')
print words_from_chars('htsi')
print words_from_chars('otp')
輸出:
[]
['this']
['pot', 'top']
其實,在重新閱讀你的問題時,也許[這](http://stackoverflow.com/questions/8286554/find-anagrams-for-a-list-of-words)是你所要求的。 – Bill
這實際上是類似的東西,但我得到了那部分已經算出out.word =輸入(「池:」) 池=輸入(「字:」) 我在字[len(word)-1 ]: if i in pool: print(「is」) else: print(「is not」) 如果例如word = CETA和pool = CTAAE,它將打印「is」。但如果單詞= CETAAAAA,即使游泳池中沒有足夠的A,它仍然會打印「是」。那是我的問題。謝謝大聲笑我不能理解我輸入的內容。 – bajotupie
對不起,它是word = input(「word:」)pool = input(「pool:」) – bajotupie
- 1. 檢查字符串是否包含字符集中的字符
- 2. 檢查字符串是否包含字(不是子字符串!)
- 3. Applescript:檢查一個字符串是否包含空字符串?
- 4. 如何檢查是否字符串包含字符串數組字符串
- 5. 檢查一個字符串是否包含任何一組字符串?
- 6. 檢查字符串中是否包含字符和數字
- 7. 檢查字符串是否包含除
- 8. 檢查是否字符串包含「HTTP://」
- 9. 檢查Enum是否包含字符串?
- 10. 檢查NSMutableArray是否包含字符串
- 11. 檢查行是否包含字符串
- 12. 檢查是否WCHAR包含字符串
- 13. 檢查一個字符串是否只包含特殊字符
- 14. 檢查一個字符串是否包含給定字符
- 15. 檢查一個字符串是否包含任何字符
- 16. 檢查一個字符串是否包含特定字符
- 17. 檢查一對字符串是否包含相同的字符?
- 18. 檢查一個字符串是否只包含某些字符
- 19. 檢查數組是否包含字符
- 20. 檢查一個字符串是否包含任何字符串數組元素
- 21. 檢查一個數組是否包含一個字符串
- 22. React-Native:檢查字符串是否包含字符串
- 23. 檢查字符串是否不包含其他字符串
- 24. 檢查字符串是否包含子字符串
- 25. 檢查字符串是否包含python中的特殊字符
- 26. 檢查字符串是否包含CJK(中文)字符
- 27. 如何檢查字符串是否包含C#中的字符?
- 28. c# - 檢查字符串是否包含字符和數字
- 29. 檢查字符串包含字符串
- 30. 檢查是否字符串包含任何字符串數組中的
由於問題是關於FINDSTR你應該問在SuperUser.com其處理非編程相關問題。 –