鉴于以下 Python 字典列表:
results = [[{'id': '001', 'result': [0,0,0,0,1]},
{'id': '002', 'result': [1,1,1,1,1]},
{'id': '003', 'result': [0,1,1,None,None]},
{'id': '004', 'result': [0,None,None,1,0]},
{'id': '005', 'result': [1,0,None,1,1]},
{'id': '006', 'result': [0,0,0,1,1]}],
[{'id': '001', 'result': [1,0,1,0,1]},
{'id': '002', 'result': [1,1,1,1,1]},
{'id': '003', 'result': [0,1,1,None,None]},
{'id': '004', 'result': [0,None,None,1,0]},
{'id': '005', 'result': [1,0,None,1,1]},
{'id': '006', 'result': [1,0,1,0,1]}]
]
我想根据“结果”的值生成一个新的排序列表(在 python 和 golang 中),方法是比较每个组中的玩家(“id”)之间的结果,然后根据匹配条目的数量对它们进行排序( None 结果将被丢弃且不计算在内):
在第一轮和第二轮中,001 和 006 有九个匹配答案:
001 = [0,0,0,0,1] 006 = [0,0,0,1,1] - 四个匹配答案。
在第二轮中,001 和 006 有五个匹配的答案:
001 = [1,0,1,0,1] 006 = [1,0,1,0,1] - 五个匹配的答案
sorted_results = ['001','006','002','005','003','004']
'001' 和 '006' 是列表中的前两项,因为它们的匹配结果数最多 - 九个。
慕尼黑8549860
相关分类