python 文字列内の文字の出現回数の最大値・最小値

文字列内の文字の出現回数の最大値・最小値を求める方法を示します。下記、検索文字の種類です。

  • 指定した複数の文字
  • 対象文字列内の各文字

「指定した複数の文字」の出現回数の最大値・最小値

指定した複数の文字(1, 2, 3)が文字列112の中に出現する回数の最大値・最小値を求めます。

s = "112"

# searchChar = "123"も可
searchChar = ["1", "2", "3"]

cnt = [s.count(i) for i in searchChar]
print(max(cnt), min(cnt))
"""出力
2 0
"""
  • cnt = [s.count(i) for i in serchChar]
    • それぞれの検索文字の出現回数をリストで返します。cntは[2, 1, 0]です。
  • print(max(cnt), min(cnt))
    • cnt([2, 1, 0])の最大値である2、最小値である0を出力します。

「対象文字列内の各文字」の出現回数の最大値・最小値

対象文字列内の各文字 (1, 2)が文字列112の中に出現する回数の最大値・最小値を求めます。

s = "112"

cnt = [s.count(i) for i in set(s)]
print(max(cnt), min(cnt))
"""出力
2 1
"""
  • cnt = [s.count(i) for i in set(s)]
    • それぞれの検索文字(*1)の出現回数をリストで返します。cntは[1, 2]です。
    • (*1)set(s)の結果であり、{‘2’, ‘1’}となりました。setは順序無しなので、結果は昇順になるとは限りません。
  • print(max(cnt), min(cnt))
    • cnt([1, 2])の最大値である2、最小値である1を出力します。

コメント

タイトルとURLをコピーしました