2012-11-27 85 views
-3

我有一個包含一百個單詞的列表和一個八個字母的列表我如何搜索每個字母,找出哪個單詞具有最多的單詞從列表中選擇字母然後打印該字。我如何使用python中的字母列表搜索一個單詞列表

+4

歡迎來到Stack Overflow!我很抱歉,但我很難弄清楚你在這裏問的問題。如果您包含一些代碼以顯示您嘗試過的內容,它會有所幫助,這會讓我們更容易幫助您。也許你也可以看一下http://whathaveyoutried.com關於如何提出好問題的偉大文章? –

回答

1
def searchWord(letters, word): 
    count = 0 
    for l in letters: 
     count += word.count(l) 

    return count 

words = ['hello', 'world']; 
letters = ['l', 'o'] 

currentWord = None 
currentCount = 0 

for w in words: 
    n = searchWord(letters, w) 

    print "word:\t", w, " count:\t", n 

    if n > currentCount: 
     currentWord = w 
     currentCount = n 

print "highest word count:", currentWord 
0

不是超級高效的,但你可以做這樣的事情:

def search(test, words): 
    return sorted(((sum(1 for c in word if c in test), word) for word in words), 
     reverse=True) 

這會給你的單詞和計數的排序列表。

相關問題