プログラム入力は文字列です。この文字列から、私は最も一般的な手紙が欲しいです。予想単語内で最も一般的な文字を検索します。アルファベット順
def most_Wanted(text="Hello Oman"):
lst = [x for x in text.replace(" ","").lower() if x.isalpha]
count = {}
for letter in lst:
if letter in count:
count[letter] += 1
else:
count[letter] = 1
count = list(count.items())
sorted(count, key=lambda x: (-x[1],x[0]))
print(count[0][0])
:
l #though o and l appear 3 times, l is before o in the latin alphabet
出力:
同じ周波数で複数の文字があることの場合には、私は、ラテンアルファベットコードで最初に来るものを返します
h #there seems to be an error in the sorting as the first pair of tuples in the list always seems to be the first letter of the text?
私が好むと思いますが、コードをすっきりさせるための提案はすべて問題ありません現時点でモジュールを使用していないので、私はコアのPythonを学ぶことができます。ありがとうございました:)
誰がこれを拒否しましたか? OPには、コード、期待値、実際の出力があります。 +1 – timgeb
sorted()はソートされたリストを返します。 (0)[0]) – Mateusz
[OK]を、私は今downvoteを保証するいくつかの理由を見ることができます:最初に、 'def most_Wanted(" Hello Oman "):'の最初の行は無効な構文です、私はそれを編集しました。第二に、私は主張された実際の出力を再現することができません。 – timgeb