python – 按键/值对的两个字典列表的交集
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 按键/值对的两个字典列表的交集,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2006字,纯文字阅读大概需要3分钟。
内容图文
![python – 按键/值对的两个字典列表的交集](/upload/InfoBanner/zyjiaocheng/734/18803019aa354d9db8bb9bc4f7d54768.jpg)
我有两种格式的字典列表:
systolic_sex = [
{'attribute': u'bp', 'value_d': 133.0, 'value_s': u'133', 'sid': 6},
{'attribute': u'bp', 'value_d': 127.0, 'value_s': u'127', 'sid': 17},
{'attribute': u'bp', 'value_d': 121.0, 'value_s': u'121', 'sid': 18},
{'attribute': u'bp', 'value_d': 127.0, 'value_s': u'127', 'sid': 27},
{'attribute': u'bp', 'value_d': 120.0, 'value_s': u'120', 'sid': 42},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 6},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 17},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 18},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 27},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 42}
]
sex = [
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 6},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 17},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 42}
]
我希望通过键’sid’的值来匹配这些列表,这样如果两者中’sid’的值相同,我就匹配,否则,我没有.如果我有一个匹配,那么我会将两个集合中的’sid’匹配的词典附加到一个新的列表中,就像这样
new_set = [
{'attribute': u'bp', 'value_d': 133.0, 'value_s': u'133', 'sid': 6},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 6},
{'attribute': u'bp', 'value_d': 127.0, 'value_s': u'127', 'sid': 17},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 17},
{'attribute': u'bp', 'value_d': 120.0, 'value_s': u'120', 'sid': 42},
{'attribute': u'SEX', 'value_d': 0.0, 'value_s': u'M', 'sid': 42}
]
我已经尝试了各种交叉方法,包括修改Match set of dictionaries的答案,但我希望创建一个新的字典列表,它具有匹配的sids,而不是替换两个列表之间的值.
解决方法:
如果你经常处理这样的数据,你可能会对使用pandas感兴趣.你的词典已经是pandas喜欢的形式,所以你可以这样做:
import pandas
systolic_sex = pandas.DataFrame(systolic_sex)
sex = pandas.DataFrame(sex)
matches = systolic_sex[systolic_sex.sid.isin(sex.sid)]
如果您希望数据的格式与提供的格式相同,则可以
output = matches.to_dict(orient='records')
内容总结
以上是互联网集市为您收集整理的python – 按键/值对的两个字典列表的交集全部内容,希望文章能够帮你解决python – 按键/值对的两个字典列表的交集所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。