Jon Ribbens <jon+use...@unequivocal.eu> wrote: > On 2023-12-11, Chris Green <c...@isbd.net> wrote: > > Chris Green <c...@isbd.net> wrote: > >> Is there a way to abbreviate the following code somehow? > >> > >> lv = {'dev':'bbb', 'input':'1', 'name':'Leisure volts'} > >> sv = {'dev':'bbb', 'input':'0', 'name':'Starter volts'} > >> la = {'dev':'bbb', 'input':'2', 'name':'Leisure Amps'} > >> sa = {'dev':'bbb', 'input':'3', 'name':'Starter Amps'} > >> bv = {'dev':'adc2', 'input':0, 'name':'BowProp Volts'} > >> > >> It's effectively a 'table' with columns named 'dev', 'input' and > >> 'name' and I want to access the values of the table using the variable > >> name. > >> > > Or, more sensibly, make the above into a list (or maybe dictionary) > > of dictionaries:- > > > > adccfg = [ > > {'abbr':'lv', 'dev':'bbb', 'input':'1', 'name':'Leisure volts'}, > > {'abbr':'sv', 'dev':'bbb', 'input':'0', 'name':'Starter volts'}, > > {'abbr':'la', 'dev':'bbb', 'input':'2', 'name':'Leisure Amps'}, > > {'abbr':'sa', 'dev':'bbb', 'input':'3', 'name':'Starter Amps'}, > > {'abbr':'bv', 'dev':'adc2', 'input':0, 'name':'BowProp Volts'} > > ] > > > > This pickles nicely, I just want an easy way to enter the data! > > adccfg = [ > dict(zip(('abbr', 'dev', 'input', 'name'), row)) > for row in ( > ('lv', 'bbb', '1', 'Leisure volts'), > ('sv', 'bbb', '0', 'Starter volts'), > ('la', 'bbb', '2', 'Leisure Amps'), > ('sa', 'bbb', '3', 'Starter Amps'), > ('bv', 'adc2', 0, 'BowProp Volts'), > ) > ]
Neat, I like that, thank you. -- Chris Green ยท -- https://mail.python.org/mailman/listinfo/python-list