描述
在一个列表中嵌套了字典, 如下:
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))