Newbie: Convert strings in nested dict to tuples
KP
kai.peters at gmail.com
Tue Dec 22 18:31:43 EST 2015
Beautiful - thanks!
On Tuesday, 22 December 2015 15:23:25 UTC-8, Peter Otten wrote:
> KP wrote:
>
> > I now know how to convert a string cont. coordinates to a tuple, but hwo
> > can I do this?
> >
> > Given
> >
> > cfg = {'canvas': ('3840', '1024'),
> > 'panel1': {'gpio': '1', 'id': '4', 'co': '0,0,1280,1024'},
> > 'panel2': {'gpio': '2', 'id': '5', 'co': '1280,0,2560,1024'},
> > 'panel3': {'gpio': '3', 'id': '6', 'co': '2560,0,3840,1024'}}
> >
> > how can I transform cfg to
> >
> > cfg = {'canvas': ('3840', '1024'),
> > 'panel1': {'gpio': '1', 'id': '4', 'co': ('0','0','1280','1024')},
> > 'panel2': {'gpio': '2', 'id': '5', 'co':
> > ('1280','0','2560','1024')}, 'panel3': {'gpio': '3', 'id': '6',
> > 'co': ('2560','0','3840','1024')}}
> >
> > Again, thanks for all help!
>
> >>> cfg = {'canvas': ('3840', '1024'),
> ... 'panel1': {'gpio': '1', 'id': '4', 'co': '0,0,1280,1024'},
> ... 'panel2': {'gpio': '2', 'id': '5', 'co': '1280,0,2560,1024'},
> ... 'panel3': {'gpio': '3', 'id': '6', 'co': '2560,0,3840,1024'}}
> >>>
> >>> for value in cfg.values():
> ... if isinstance(value, dict):
> ... value["co"] = tuple(value["co"].split(","))
> ...
> >>> import pprint
> >>> pprint.pprint(cfg)
> {'canvas': ('3840', '1024'),
> 'panel1': {'co': ('0', '0', '1280', '1024'), 'gpio': '1', 'id': '4'},
> 'panel2': {'co': ('1280', '0', '2560', '1024'), 'gpio': '2', 'id': '5'},
> 'panel3': {'co': ('2560', '0', '3840', '1024'), 'gpio': '3', 'id': '6'}}
More information about the Python-list
mailing list