python -列表中嵌套多个字典, 如何取出字典的重复值
描述
在一个列表中嵌套了字典, 如下:
weights = [{ 'subject': 2896, 'distance': 0.8343115868747709}, { 'subject': 2834, 'distance': 0.8147950789314828}, { 'subject': 2937, 'distance': 0.7866704974194655}]
需求:
如果subject有重复, 则取出重复的subject值
如果没有重复, 则取出所有subject中第一个值
代码
import pandas as pd
from collections import Counter #引入Counter
def predict(b):
subject = 0
for key, value in b.items():
if value > 1:
subject = key
else:
subject = list[0]
return subject
list = []
weights = [{ 'subject': 2896, 'distance': 0.8343115868747709}, { 'subject': 2834, 'distance': 0.8147950789314828}, { 'subject': 2937, 'distance': 0.7866704974194655}]
for weight in weights:
list.append(weight['subject'])
print(list)
b = dict(Counter(list))
print(predict(b))
还没有评论,来说两句吧...