Python 如何以一种格式从字典列表中获取值
我有一个字典列表,其中的值在列表中:Python 如何以一种格式从字典列表中获取值,python,Python,我有一个字典列表,其中的值在列表中: list_of_dict = [ {'Node': '1', 'IdRackIp': ['Id1','Id2']}, {'Node': '2', 'IdRackIp': ['Id3','Id4']} ] 我想得到一个特定格式的新词典列表- list_of_dict =[ {'Node': '1', 'IdRackIp': 'Id1'}, {'Node': '1', 'IdRackIp': 'Id2'}, {'Node': '2', 'I
list_of_dict = [
{'Node': '1', 'IdRackIp': ['Id1','Id2']},
{'Node': '2', 'IdRackIp': ['Id3','Id4']}
]
我想得到一个特定格式的新词典列表-
list_of_dict =[
{'Node': '1', 'IdRackIp': 'Id1'},
{'Node': '1', 'IdRackIp': 'Id2'},
{'Node': '2', 'IdRackIp': 'Id3'},
{'Node': '2', 'IdRackIp': 'Id4'}
]
我最近开始研究Python,我很难用这种格式对它进行排序。有人能帮我得到这个格式吗?基本上,你要找的是:
dicts = []
for d in list_of_dicts:
for i in d['IdRackIp']:
dicts.append({'Node': d['Node'], 'IdRackIp': i})
可使用以下方法对其进行压实:
重复字典符号可进一步压缩为:
dicts = [dict(d, IdRackIp=i) for d in list_of_dicts for i in d['IdRackIp']]
这最后一个完全归功于谁,谁先记住了它;但我认为在这里合并也很重要。这里有一个简单的例子:
结果=[dictitem,***{'IdRackIp':\u id}用于项['IdRackIp']中的_id的_dict的列表_中的项
还打我,该死的!请投我的一票。@Finomnis这不是一场比赛。但如果是的话,他会赢。@Finomnis-如果这是一场比赛,那么这是一场对问题做出最佳答案的比赛。这并不总是一件好事。你应该根据邮件的优点而不是速度来投票。放松,这个问题很简单,所有答案都可以。但我不会对这个问题给出第二个完全相同的答案,这就是为什么他赢了:偶尔玩一次,大家不要太认真:如果这让你不舒服,我可以删除我的评论。我在试着记住这个即时合并口述的速记!抢手货您只需执行dictitem,IdRackIp=\u id即可。
dicts = [dict(d, IdRackIp=i) for d in list_of_dicts for i in d['IdRackIp']]