python -列表中嵌套多个字典, 如何取出字典的重复值

墨蓝 2022-08-31 04:45 344阅读 0赞

描述

在一个列表中嵌套了字典, 如下:

  1. weights = [{ 'subject': 2896, 'distance': 0.8343115868747709}, { 'subject': 2834, 'distance': 0.8147950789314828}, { 'subject': 2937, 'distance': 0.7866704974194655}]

需求:
如果subject有重复, 则取出重复的subject值
如果没有重复, 则取出所有subject中第一个值

代码

  1. import pandas as pd
  2. from collections import Counter #引入Counter
  3. def predict(b):
  4. subject = 0
  5. for key, value in b.items():
  6. if value > 1:
  7. subject = key
  8. else:
  9. subject = list[0]
  10. return subject
  11. list = []
  12. weights = [{ 'subject': 2896, 'distance': 0.8343115868747709}, { 'subject': 2834, 'distance': 0.8147950789314828}, { 'subject': 2937, 'distance': 0.7866704974194655}]
  13. for weight in weights:
  14. list.append(weight['subject'])
  15. print(list)
  16. b = dict(Counter(list))
  17. print(predict(b))

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,344人围观)

还没有评论,来说两句吧...

相关阅读