0

I have a list like:

[{'sample': {'sample_context': {'board': u'9', 'encoder': u'1'}, 18421: u'1191'}}, {'sample': {'sample_context': {'board': u'5', 'encoder': u'1'}, 18422: u'2251'}}, {'sample': {'sample_context': {'board': u'9', 'encoder': u'1'}, 18423: u'2291'}}, {'sample': {25680: u'3321', 'sample_context': {'board': u'2', 'encoder': u'1'}}}, {'sample': {'sample_context': {'board': u'9', 'encoder': u'1'}, 29100: u'5591'}}]

How could I separate values i.e. 18421: u'1191', 18422: u'2251' etc based per sample_context field

I tried to do but it doesn't work, I think I need to map values based on sample_context field

[sample_sent['sample'] for sample_sent in x]

The goal is to answer give me all the values with context lets say: {'board': u'9', 'encoder': u'1'}

Kumar Roshan Mehta
  • 3,078
  • 2
  • 27
  • 50

1 Answers1

1

Something like the following comprehension will extract such a mapping:

{k:v for d in lst for d2 in d.values() for k,v in d2.items() if isinstance(k,int)}
# {18421: '1191', 18422: '2251', 18423: '2291', 25680: '3321', 29100: '5591'}
user2390182
  • 72,016
  • 6
  • 67
  • 89