ホームページ > バックエンド開発 > Python チュートリアル > Python day-Dictionary、ネストされたループを使用した文字の頻度

Python day-Dictionary、ネストされたループを使用した文字の頻度

Susan Sarandon
リリース: 2025-01-03 17:54:39
オリジナル
734 人が閲覧しました

Python day-Dictionary, Frequency of character using nested loops

辞書-{}

-->辞書は、データ値をキーと値のペアで保存するために使用されます。
-->辞書は、順序付けされ、変更可能で、重複を許可しないコレクションです。
-->辞書では、インデックス作成ではなく、キーによって各要素にアクセスできます。
-->辞書にキーが含まれていない場合、出力は「KeyError」になります。

例:

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}

student = {"name":"raja", "class":5}

print(thisdict)
print(student)
ログイン後にコピー

出力:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}
{'name': 'raja', 'class': 5}
ログイン後にコピー

演習:ネストされたループを使用して文字列内の文字を検索する
1.文字列内の各文字の頻度を求める

s = 'guruprasanna'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
        print(key, count)
    j+=1
ログイン後にコピー

出力:

g 1
u 2
r 2
p 1
a 3
s 1
n 2
ログイン後にコピー

*2.文字は 1 回だけ表示されます *

s = 'guruprasanna'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count == 1 and key!='*':
        print(key, count)
    j+=1
ログイン後にコピー

出力:

g 1
p 1
s 1
ログイン後にコピー

3.最も頻繁な手紙

s = 'guruprasanna'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count != 1 and key!='*':
        print(key, count)
    j+=1
ログイン後にコピー

出力:

u 2
r 2
a 3
n 2
ログイン後にコピー

4.繰り返されない最初の文字

s = 'guruprasanna'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count == 1 and key!='*':
        print(key, count)
        break
    j+=1
ログイン後にコピー

出力:

g 1
ログイン後にコピー

5.最初に繰り返された文字

s = 'guruprasanna'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count != 1 and key!='*':
        print(key, count)
        break
    j+=1
ログイン後にコピー

6.繰り返されない最後の文字

last = ' '
last_count = 0 
s = 'guruprasanna'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count == 1 and key!='*':
            last = key
            last_count = count
        #print(key, count)
    j+=1

print(last, last_count)
ログイン後にコピー

出力:

s 1
ログイン後にコピー

7.最後に繰り返された手紙

last = ' '
last_count = 0 
s = 'guruprasanna'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count != 1 and key!='*':
            last = key
            last_count = count
        #print(key, count)
    j+=1

print(last, last_count)
ログイン後にコピー

出力:

n 2
ログイン後にコピー

8.最も頻繁に使用される文字

s = 'guruprasanna'
name = list(s)
j = 0 
last = ' '
last_count = 0 

while j<len(name):
    key = name[j]
    count = 1
    i = j+1
    if key != '*':
        while i<len(name):
            if key == name[i]:
                name[i] = '*'
                count+=1
            i+=1
    if count != 1 and key!='*':
        if count>last_count:
            last = key
            last_count = count
    j+=1

print(last, last_count)
ログイン後にコピー

9.母音の頻度 (a、e、i、o、u)

vowels = ['a','e','i','o','u']
last = ' '
last_count = 0 
s = 'guruprasanna'
name = list(s)
j = 0 
while j<len(name):
    key = name[j]
    if key in vowels:
        count = 1
        i = j+1
        if key != '*':
            while i<len(name):
                if key == name[i]:
                    name[i] = '*'
                    count+=1
                i+=1
        if key!='*':
            print(key, count)
    j+=1
ログイン後にコピー

出力:

u 2
a 3
ログイン後にコピー

以上がPython day-Dictionary、ネストされたループを使用した文字の頻度の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート