ホームページ >バックエンド開発 >Python チュートリアル >Pythonを使用して文字列内の文字数をカウントするにはどうすればよいですか?
Python を使用して文字列内の文字数をカウントするにはどうすればよいですか?
Python の文字列内の文字数を数える方法:
最初にこれら 3 つのコードを使用してください
dic=dict() d={} s=set() s='helloworld'(1)d=dict() for x in s: if x not in d.keys(): d[x]=1 else: d[x]=d[x]+1 print(d) (2)d2=dict() for x in s: d2[x]=d2.get(x,0)+1 print(d2) (3)d3=dict() for x in s: d3[x]=s.count(x) print(d3)
これら 3 つの方法はすべて辞書形式で出力されますが、2番目と3番目の組み込み関数メソッドを使用した方が簡単であることがわかります。
def countchar(str): str=str.lower()#化成小写 ans=[] for i in range(26): #列表赋初值 26 个 0 ans.append(0) for i in str: if(ord(i)>=ord('a')and ord(i)<=ord('z')): ans[ord(i)-ord('a')]=ans[ord(i)-ord('a')]+1 #统计个数 return ansif __name__ == "__main__": str = input() print(countchar(str))def countchar(st): #定义数个数的函数 keys = [chr(i+97) for i in range(26)] #生成26个字母的key列表 di = dict().fromkeys(keys,0) #赋给每个key初始值0 new = [] #建立一个新列表用于存放有序的key st = st.lower() #将所有输入的字符改为小写 for s in st: #遍历字符串 di[s] = st.count(s) #输出每个字符的个数,存放到字典里 for k in keys: #遍历keys,将其在di中的值添加到新列表,获得有序的26个字母的个数 new.append(di[k]) return new #返回存有26个字母个数的列表if __name__ == "__main__": st = input() #输入字符串 str1 = "" #定义一个空字符串 for s in st: #遍历输入的字符串 if s.isalpha() != 0: #只有字母才添加到新字符串,标点忽略不计 str1 += s print(countchar(str1)) #输出列表
上記 2 つのメソッドは、文字列内の文字の出現数も出力します。わずかな違いは、ここでは最初に 26 文字を設定し、対応する初期値を 0 にすることです。その後、文字列の数をカウントします。文字列内の各文字の出現回数、および各文字が出現する回数が、対応する初期値の値となります。出現しない文字の対応する値は依然として初期値 0
です。 上記の方法を通じて、この問題を解決するアイデアを要約するのは難しくありません。文字列をランダムに入力します。キーボードから入力してから、文字列をループし、文字列内の各文字をループしてさまざまな文字の出現数をカウントし、文字列をループします。
推奨チュートリアル: 「Python ビデオ チュートリアル 」
以上がPythonを使用して文字列内の文字数をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。