説明文
添付ファイル内の小文字a〜zの文字分布、つまりa〜zの文字数を数え、結果を出力します。
ファイルの総文字数も出力してください。
出力形式に注意してください。各要素はコンマ(、)で区切られています。
回答には、azで26文字の分布が含まれる場合があります。文字が表示されない場合、その文字は表示されず、出力順序はz順序です。
入力と出力の例
フォーマットの例のみで、最終的な回答ではありません。
入力 | アウトプット | |
例1 | |
fo = open( "latex.log"、 "r")#open file t = 0 lt = {} #foの アイテムの辞書を作成:# アイテムのjのfo をトラバース:#統計文字番号 t + = 1 j>の場合= 'a'とj <= 'z': lt [j] = lt.get(j、0)+ 1#現在の文字jでディクショナリにインデックスを付けます(ある場合は、回数+1)。そうでない場合は、ディクショナリに追加します。現在の値を0に割り当てます。+ 1 items = list(lt.items())#辞書はリストに変換されます print( "Total {} characters" .format(t)、end = '') #Do not wrap not items.sort( key = lambda x:x [0]、reverse = False)#最初の次元[0]に従って、デフォルトで小さい順から大きい順に並べ替え、reverse = falseは 項目内の項目を逆にしない: print( "、{}: {} "。format(item [0]、item [1])、end = '')
関連する知識ポイント
1. .get(<element>、0) lt.get(j、0)+1を例に取る
辞書のltインデックスのj要素に対応する値。
1)辞書ltが空の場合、この関数の機能は、新しい要素を検出して生成し、同時に新しい要素を0に初期化することです。新しい要素が検出されるため、戻り値は+1です。
2)辞書ltが空でない場合は、1)新しい要素が検出された場合、同じ要素が再び検出された場合、戻り値は+1になります。
2、.sort(key = lambda x:x [0]、reverse = False)
1)並べ替え()は、デフォルトで小さい順から大きい順に並べ替えます
2)key = lambda x:x [0]
文字x:x []は自由に変更でき、ソート方法は括弧[]内のディメンションに従ってソートされます
[0]最初の次元を押します、[2] 3番目の次元を押します
3)逆()関数
リスト型の操作関数。結果は、リスト自体を直接変更し(スペースを節約)、元のリストを反転リストに直接変更し、戻り値は空(なし)なので、逆順の出力を直接引用します。
reverse =デフォルトではfalseソート、逆はなし、reverse = true逆