3

私はPythonを初めて使用し、文字列で最長のWORDを見つけるためのいくつかの提案を見つけましたが、最長の長さに一致する単語数を持つ文字列を説明するものはありませんでした.

遊んだ後、私はこれに落ち着きました:

inputsentence = raw_input("Write a sentence: ").split()
longestwords = []
for word in inputsentence:
    if len(word) == len(max(inputsentence, key=len)):
        longestwords.append(word)

そうすれば、何かを行うことができる最も長い単語のリストが得られます。これを行うより良い方法はありますか?

注意:inputsentenceには整数や句読点が含まれておらず、一連の単語のみが含まれていると想定します。

4

4 に答える 4

0

長さをキーにして adefaultdictにし、以下を適応させます。

words = inputsentence.split()
from collections import defaultdict
dd = defaultdict(list)
for word in words:
    dd[len(word)].append(word)

key_by_len = sorted(dd)
print dd[key_by_len[0]]
于 2013-06-01T14:04:16.377 に答える