#!/usr/bin/env python3 # -*- coding: utf-8 -*- my_dict = {'10.10.0.1': 'йцу', '10.10.0.2': 'ыва', '10.10.1.1': 'смр', '10.10.1.2': 'иол'} new_dict = [{_: [{'.'.join(_key.split('.')[3:]): my_dict[_key]} for _key in my_dict if _key.startswith(_ + '.')]} for _ in set(['.'.join(key.split('.')[:3]) for key in my_dict])] print(new_dict)