

初心者のため、おかしな点があるかもしれませんがよろしくお願いします。

テキストファイルの中身

[code]

    AAA
    BBB
    CCC
    DDD
    
[/code]

[code]

    辞書 = {
      'AAA':['a','b','c'],
      'BBB':['a','b','d','g'],
      'CCC':['b','f'],
      'DDD':['b','c','f','g','h']
    }
    
[/code]

テキストファイルも辞書も簡易化してます。

求める結果はキー毎の要素数です。

[code]

    3
    4
    2
    5
    
[/code]

私は知識がないため以下のようなスクリプトを書きました。しかし、手作業で指定しないといけないため、汎用性がないと感じ質問しました。  
よろしくお願いします。

[code]

    バリュー = 辞書.get('AAA')
    print(len(バリュー))
    
[/code]


CC BY-SA 4.0
2023-01-11T06:27:41.837
93306
2023-01-17T13:15:14.320
2023-01-11T06:37:30.820
3060
55971
question
python
テキストファイル内の文字列を、辞書内のキーから検索し、バリューの要素数をだしたい。

[code]

    dic = {'AAA':['a','b','c'],'BBB':['a','b','d','g'],'CCC':['b','f'],'DDD':['b','c','f','g','h']}
    with open('keys.txt', 'r') as f:
        for key in f:
            value = dic.get(key.rstrip(), None)
            if value is not None:
                print(len(value))
            
    # 3
    # 4
    # 2
    # 5
    
[/code]


CC BY-SA 4.0
2023-01-11T06:37:10.740
93307
2023-01-11T06:37:10.740
47127
93306
answer


以下のように試してみてください。

[code]

    for key in 辞書.keys():
        print(len(辞書[key]))
    
[/code]


CC BY-SA 4.0
2023-01-17T13:15:14.320
93416
2023-01-17T13:15:14.320
55497
93306
answer