Pythonファイルの文字分布[get()関数と.sort(key = lambda x:x [0]、reverse = False)]

ファイルのキャラクター分布

説明文

添付ファイル内の小文字a〜zの文字分布、つまりa〜zの文字数を数え、結果を出力します。

ファイルの総文字数も出力してください。

出力形式に注意してください。各要素はコンマ(、)で区切られています。

回答には、azで26文字の分布が含まれる場合があります。文字が表示されない場合、その文字は表示されず、出力順序はz順序です。

入力と出力の例

フォーマットの例のみで、最終的な回答ではありません。

  入力 アウトプット
例1  
共999字符,a:11,b:22,c:33,d:44,e:55

 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

 

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逆

おすすめ

転載: www.cnblogs.com/Anjoras-bk/p/12697980.html