类似地,对于请求金额55、65、50更接近45,而80、90则远离45,因此确认状态变为3/5,而拒绝状态变为2/5。
这是否意味着你想为“fieldValList”中的每个名称从“outList”中获得“status”的分数?如果是,那么这是一个提示:
from fractions import Fraction
# note that the list has been mutated
outList =[
{'Current NAV': 22, 'status': 'Confirmed'},
{'Current NAV': 25, 'status': 'Confirmed'},
{'Current NAV': 31, 'status': 'Confirmed'},
{'Current NAV': 55, 'status': 'Rejected'},
{'Current NAV': 65, 'status': 'Rejected'},
{'Amount Requested': 50, 'status': 'Confirmed'},
{'Amount Requested': 55, 'status': 'Confirmed'},
{'Amount Requested': 80, 'status': 'Rejected'},
{'Amount Requested': 90, 'status': 'Rejected'}]
fieldValList = [
{'name': 'Current NAV', 'value': 33},
{'name': 'Amount Requested', 'value': 45}]
for i in fieldValList:
n = [j['status']=='Confirmed' for j in outList if i['name'] in j]
print(f"name: {i['name']}, Confirmed: {Fraction(sum(n), len(n))}")
>>> out
'''
name: Current NAV, Confirmed: 3/5
name: Amount Requested, Confirmed: 1/2
否则,如前所述,您应该定义被视为
“更近”
。