提问人:Kumar Roshan Mehta 提问时间:7/13/2023 最后编辑:Kumar Roshan Mehta 更新时间:7/13/2023 访问量:40
基于 dict 内部值的映射列表
map list based on dict internal values
问:
我有一个清单,如下:
[{'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'}}]
我怎样才能分离值,即 基于每个字段的 etc18421: u'1191', 18422: u'2251'
sample_context
我尝试这样做但没有用,我想我需要根据sample_context字段映射值
[sample_sent['sample'] for sample_sent in x]
目标是回答给我所有带有上下文的值,比如说:{'board': u'9', 'encoder': u'1'}
答:
1赞
user2390182
7/13/2023
#1
类似于以下理解的内容将提取这样的映射:
{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'}
评论
0赞
Kumar Roshan Mehta
7/13/2023
但我需要知道哪个值属于哪些上下文。基本上,我需要根据上下文映射值。
0赞
user2390182
7/13/2023
然后,请显示您想要的样本输入的确切数据结构。
1赞
user2390182
7/13/2023
啊,你的意思是收集 kv 对,比如说出现不止一次的上下文“b9e1”?
0赞
Kumar Roshan Mehta
7/13/2023
是的,每个sample_context的值列表。所以我可以要求给我所有带有上下文的值,比如说:{'board': u'9', 'encoder': u'1'}
评论