86353


実現したいこと  
以下の対象辞書イメージのkey（Data_x[xx]）で[xx]の数字が同じ場合、そのvalueを合成後、新しい辞書を作成したいです

対象辞書イメージ

[code]

    Test=
    {'Data_1[1]': 'test','Data_1[2]': 'call','Data_1[5]': 'pkup','Data_2[1]': 'direct','Data_2[5]': 'all','Data_3[2]': 'direct','Data_3[5]': 'all',}
    
[/code]

※ 例[1]の場合

[code]

    'Data_1[1]': 'test'
    'Data_2[1]': 'direct'
    ⇒'FData_1':'test direct'
    
[/code]

最終結果イメージ

[code]

    FTest ={'FData_1':'test direct','FData_2':'call direct','FData_5':'pkup all all'}
    
[/code]

何卒よろしくお願い致します。


CC BY-SA 4.0
2022-02-15T03:40:05.267
86348
2022-02-15T04:40:27.973
2022-02-15T03:45:33.543
9820
51133
question
python
辞書内の値を合わせたい

[code]

    import re
    
    Test = {
      'Data_1[1]': 'test', 'Data_1[2]': 'call',
      'Data_1[5]': 'pkup', 'Data_2[1]': 'direct',
      'Data_2[5]': 'all',  'Data_3[2]': 'direct',
      'Data_3[5]': 'all',
    }
    
    FTest = {}
    for k, v in Test.items():
        idx = 'FData_' + re.findall(r'\[(\d+)\]', k)[0]
        if idx not in FTest:
            FTest[idx] = v
        else:
            FTest[idx] += ' ' + v
    
    print(FTest)
    
    #
    {'FData_1': 'test direct', 'FData_2': 'call direct', 'FData_5': 'pkup all all'}
    
[/code]


CC BY-SA 4.0
2022-02-15T04:31:49.510
86353
2022-02-15T04:40:27.973
2022-02-15T04:40:27.973
47127
47127
86348
answer